Click here to Skip to main content
15,893,487 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: [MFC] How to draw an eclipse with any color and line width on memory device context ( using bitmap )? Pin
Stuart Dootson3-Mar-09 22:10
professionalStuart Dootson3-Mar-09 22:10 
QuestionRe: [MFC] How to draw an eclipse with any color and line width on memory device context ( using bitmap )? Pin
CPallini3-Mar-09 22:21
mveCPallini3-Mar-09 22:21 
AnswerRe: [MFC] How to draw an eclipse with any color and line width on memory device context ( using bitmap )? Pin
Iain Clarke, Warrior Programmer3-Mar-09 22:36
Iain Clarke, Warrior Programmer3-Mar-09 22:36 
AnswerRe: [MFC] How to draw an eclipse with any color and line width on memory device context ( using bitmap )? Pin
Iain Clarke, Warrior Programmer3-Mar-09 22:41
Iain Clarke, Warrior Programmer3-Mar-09 22:41 
AnswerRe: [MFC] How to draw an eclipse with any color and line width on memory device context ( using bitmap )? Pin
Un Suthee4-Mar-09 23:41
Un Suthee4-Mar-09 23:41 
Questionhow to use the efs interface with vc6 ? [modified] Pin
mars4ever3-Mar-09 14:46
mars4ever3-Mar-09 14:46 
QuestionChartDirectory Pin
BobInNJ3-Mar-09 14:35
BobInNJ3-Mar-09 14:35 
Questionbmp background for a non-subclassed ctreectrl Pin
kitkat120123-Mar-09 9:41
kitkat120123-Mar-09 9:41 
AnswerRe: bmp background for a non-subclassed ctreectrl Pin
Code-o-mat3-Mar-09 11:43
Code-o-mat3-Mar-09 11:43 
QuestionDisable Events of HTMLElement Pin
vikrant kpr3-Mar-09 6:40
vikrant kpr3-Mar-09 6:40 
AnswerRe: Disable Events of HTMLElement Pin
Perisic, Aleksandar3-Mar-09 10:01
Perisic, Aleksandar3-Mar-09 10:01 
GeneralRe: Disable Events of HTMLElement Pin
vikrant kpr3-Mar-09 10:03
vikrant kpr3-Mar-09 10:03 
GeneralRe: Disable Events of HTMLElement Pin
Perisic, Aleksandar3-Mar-09 10:12
Perisic, Aleksandar3-Mar-09 10:12 
GeneralRe: Disable Events of HTMLElement Pin
vikrant kpr3-Mar-09 10:13
vikrant kpr3-Mar-09 10:13 
GeneralRe: Disable Events of HTMLElement Pin
vikrant kpr3-Mar-09 10:21
vikrant kpr3-Mar-09 10:21 
GeneralRe: Disable Events of HTMLElement Pin
Perisic, Aleksandar3-Mar-09 10:38
Perisic, Aleksandar3-Mar-09 10:38 
GeneralRe: Disable Events of HTMLElement Pin
vikrant kpr3-Mar-09 10:53
vikrant kpr3-Mar-09 10:53 
GeneralRe: Disable Events of HTMLElement Pin
vikrant kpr3-Mar-09 11:07
vikrant kpr3-Mar-09 11:07 
GeneralRe: Disable Events of HTMLElement Pin
Perisic, Aleksandar3-Mar-09 11:11
Perisic, Aleksandar3-Mar-09 11:11 
QuestionDriving a 3rd-party app from my app. Pin
davidjaybrown3-Mar-09 5:46
davidjaybrown3-Mar-09 5:46 
AnswerRe: Driving a 3rd-party app from my app. Pin
Stuart Dootson3-Mar-09 6:19
professionalStuart Dootson3-Mar-09 6:19 
GeneralRe: Driving a 3rd-party app from my app. Pin
davidjaybrown3-Mar-09 7:45
davidjaybrown3-Mar-09 7:45 
GeneralRe: Driving a 3rd-party app from my app. Pin
Stuart Dootson3-Mar-09 8:05
professionalStuart Dootson3-Mar-09 8:05 
AnswerRe: Driving a 3rd-party app from my app. Pin
vikrant kpr3-Mar-09 6:30
vikrant kpr3-Mar-09 6:30 
Hey Buddy

Yes you are at correct place, but i may not be of much help.

SendInput is a risky thing as you have faced already

If you get HWND of the target window, then you can treat them with your own classes
Let's say you get an edit box

CEdit* vl_pEdit = (CEdit*)CWnd::FromHandle(targethWnd);
if(vl_pEdit && IsWindow(vl_pEdit->m_hWnd))
{
//you have got CEdit
//Call GetWindowText or SetWindow Text
}

Same would be applicable to CheckBoxes

Use CButton::GetCheck() for getting state

Also

to Click on a Dialog Box, given below is an encrypt from experts exchange which requires subsription and hence pasting below
http://www.experts-exchange.com/Programming/Languages/Q_20572990.html[^]
So you can do many things without SendInput & that too in a reliable way.

However it seems you have developed functionality using SendInput and hence this information may be of little use to you, still posting here, whatever i can.
-----------------------Starts-----------------

The proper WM_COMMAND for a button click is:

PostMessage(hWndParent, WM_COMMAND, MAKEWPARAM(nID, BN_CLICKED), hWndButton);

but the lazy version is:

PostMessage(hWndParent, WM_COMMAND, nID, 0);

... assuming the parent doesn't check hWndButton. gotenks got that one.

Assuming we're dealing with a dialog box using standard button IDs, you should use IDOK for nID. Other standard values for nID include IDCANCEL, IDABORT, IDIGNORE, IDYES, IDNO, IDCLOSE. Although, if the ID is custom, it could be any value.

> ::PostMessage(hWnd,WM_LBUTTONDOWN,WM_COMMAND,MAKELONG(x,y));
> //" ::PostMessage(hWnd,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(x,y)); "
> also tried.
> ::PostMessage(hWnd,WM_LBUTTONUP,NULL,MAKELONG(x,y));
> ::PostMessage(hWndParent,WM_LBUTTONDOWN,WM_COMMAND,MAKELPARAM(x,y));
> ::PostMessage(hWndParent,WM_LBUTTONUP,WM_COMMAND,MAKELPARAM(x,y));

This'll simulate a button click:

SetForegroundWindow(hWndParent);
PostMessage(hWndButton, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(1,0));
PostMessage(hWndButton, WM_LBUTTONUP, 0, MAKELPARAM(1,0));

SetForegroundWindow() brings up and activates the window before it handles the mouse click.

Although, if that fails, the button might be off the screen. If that happens, you should call this beforehand:

SetWindowPos(hWndParent, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);

This'll move the window to the upper-left-hand corner of the screen.

If you're trying to close one certain dialog, then you should have no trouble doing so. But if you're trying to click any given button, chances are that you're gonna run into trouble sooner or later.

Until then, good luck!

Regards
-----------------------Ends-----------------
GeneralRe: Driving a 3rd-party app from my app. Pin
davidjaybrown3-Mar-09 8:10
davidjaybrown3-Mar-09 8:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.