[RESOLVED] the hidecaret() function isn't ok?
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 9 of 9

Thread: [RESOLVED] the hidecaret() function isn't ok?

Hybrid View

  1. #1
    Join Date
    Apr 2009
    Posts
    678

    [RESOLVED] the hidecaret() function isn't ok?

    what i need for hide the caret?
    Code:
    bool GetCaretVisible()
    	{
    		return blCaretVisible;
    	}
    void SetCaretVisible(bool Visible)	
    {
    		if (Visible==true)
    		{
    			ShowCaret(hwnd());
    		}
    		else
    		{
    			HideCaret( hwnd());
    		}
    	}
    	__declspec ( property ( put = SetCaretVisible, get = GetCaretVisible ) ) bool CaretVisible ;
    the caret isn't hided, i test the GetLastError() and gives me 0(zero). so what i need for hide the caret?
    (more 1 property for my class)

  2. #2
    Join Date
    Dec 2012
    Location
    England
    Posts
    2,540

    Re: the hidecaret() function isn't ok?

    At this rate, I might as well just post you my console class! As per other thread, when dealing with the console, you use console handles and not window handles and you do things the console way not the window way!

    Code:
    //Turn cursor on
    DWORD CursorOn(HANDLE sout)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.bVisible = TRUE;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    
    
    //Turn cursor off
    DWORD CursorOff(HANDLE sout)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.bVisible = FALSE;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    
    
    //Get cursor size
    DWORD GetCursorSize(HANDLE sout, DWORD& size)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	size = cur.dwSize;
    	return (0);
    }
    
    
    //Set cursor size
    DWORD SetCursorSize(HANDLE sout, DWORD size)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.dwSize = size;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.

  3. #3
    Join Date
    Apr 2009
    Posts
    678

    Re: the hidecaret() function isn't ok?

    Quote Originally Posted by 2kaud View Post
    At this rate, I might as well just post you my console class! As per other thread, when dealing with the console, you use console handles and not window handles and you do things the console way not the window way!

    Code:
    //Turn cursor on
    DWORD CursorOn(HANDLE sout)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.bVisible = TRUE;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    
    
    //Turn cursor off
    DWORD CursorOff(HANDLE sout)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.bVisible = FALSE;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    
    
    //Get cursor size
    DWORD GetCursorSize(HANDLE sout, DWORD& size)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	size = cur.dwSize;
    	return (0);
    }
    
    
    //Set cursor size
    DWORD SetCursorSize(HANDLE sout, DWORD size)
    {
    CONSOLE_CURSOR_INFO	cur;
    
    	if (!GetConsoleCursorInfo(sout, &cur)) {
    		return (GetLastError());
    	}
    
    	cur.dwSize = size;
    	return (!SetConsoleCursorInfo(sout, &cur) ? GetLastError() : 0);
    }
    thanks.
    maybe you like these line(the last line):

    Code:
    bool GetCaretVisible()
    	{
    		return blCaretVisible;
    	}
    	
    
    	void SetCaretVisible(bool Visible)
    	{
    		if (Visible==true)
    		{
    			CursorOn(handle());
    		}
    		else
    		{
    			CursorOff(handle());
    		}
    		blCaretVisible=Visible; 
    	}
    			
    	__declspec ( property ( put = SetCaretVisible, get = GetCaretVisible ) ) bool CaretVisible ;
    thanks for all

  4. #4
    Join Date
    Apr 1999
    Posts
    27,433

    Re: the hidecaret() function isn't ok?

    Quote Originally Posted by Cambalinho View Post
    thanks.
    maybe you like these line(the last line):
    Code:
    __declspec ( property ( put = SetCaretVisible, get = GetCaretVisible ) ) bool CaretVisible ;
    thanks for all
    What's that? That line is not C++, and it certainly has nothing to do with the Windows API (the topic of this forum).

    Regards,

    Paul McKenzie

  5. #5
    Join Date
    Apr 2009
    Posts
    678

    Re: the hidecaret() function isn't ok?

    Quote Originally Posted by Paul McKenzie View Post
    What's that? That line is not C++, and it certainly has nothing to do with the Windows API (the topic of this forum).

    Regards,

    Paul McKenzie
    i think is C++
    is for transform that 2 subs in properties
    see that 2 subs?
    GetCaretVisible() and SetCaretVisible(bool Visible). they are overloading subs, but the line:

    Code:
    __declspec ( property ( put = SetCaretVisible, get = GetCaretVisible ) ) bool CaretVisible ;
    'transform' that 2 sub in 1 property: CaretVisible .
    now is more easy to use:

    Code:
    Console a;
    a.CaretVisible=false;
    Sleep= 5000; //wait 5 seconds
    a.CaretVisible=true;
    a.Read(); //wait until press any key;)
    is more easy to use... that's why i share
    (but, of course, we can use that 2 subs too(GetCaretVisible() and SetCaretVisible(bool Visible)).
    thanks for all

  6. #6
    Join Date
    Apr 1999
    Posts
    27,433

    Re: the hidecaret() function isn't ok?

    Quote Originally Posted by Cambalinho View Post
    i think is C++
    is for transform that 2 subs in properties
    That last line of code is not C++, and it has nothing to do with the Windows API.

    Regards,

    Paul McKenzie

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center