|
I didnt use of this library but check return values of InitializeMagic
|
|
|
|
|
If you just want to read gif, jpg, etc, use GDI+, it's far less painful and far better documented.
Christian Graus - C++ MVP
'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
|
|
|
|
|
Sorry whitesky,
yah i am sure that just i read a .jpg image. I think here is the problem that is InitializeMagic() function.
why can we call this funtion and which path is send to this function as a parameter...
But one thing i had successfully run on the console application of win32, within the same code....
So, what is the real problem...please tell me...
|
|
|
|
|
Hey his name is Christian Graus not whitesky
|
|
|
|
|
I use SPY++ find HWND from the window that I want to control.
if I want to access that window by using CWnd function.
How I do this.
|
|
|
|
|
Use the member m_hwnd
<br />
CWnd cwnd;<br />
cwnd.m_hWnd =(HWND)0x00120112;
cwnd.ShowWindow(SW_MAXIMIZE);
Code-Frog:So if this is Pumpkinhead. Time for him to run and hide. It's an interesting thought really.
|
|
|
|
|
Why you don't find it yourself without Spy++?
Do it with CWnd::FindWindow() or ::FindWindow().
Good Luck
|
|
|
|
|
Do you want to get hwnd of a control on other programs?
|
|
|
|
|
ํYes,I want to inject text data to dictionary program when I copy text data to clipboard.
I use this function
::SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)pchData);
|
|
|
|
|
A small code(I suppose you run Notepad)
char *MY="Hello";
HWND hWnd = ::FindWindow("Notepad", NULL);
CWnd *hWndEdit=FindWindowEx(hWnd,NULL,"Edit",NULL);
hWndEdit->SendMessage(WM_SETTEXT,0,(long)MY);
with this code you insert Hello to notepad now if you want to read this text of NotePad first you must determine length in characters of window
LRESULT l=hWndEdit->SendMessage(WM_GETTEXTLENGTH,0,0);
then you can get text of notepad
hWndEdit->SendMessage(WM_GETTEXT,l+1,(long)MY2);
Is it helpfuls?
|
|
|
|
|
After I inject text to target Edit Ctrl I have to click on it and press enter key then the dictionary program will work.
So, I want to try to send the message that user press enter key after inject text to target Edit Ctrl.
What this message is?
|
|
|
|
|
|
Well , i have put the control dynamically but each time when i add new item in the list view from the fileopen dialog it's place the control(progress bar) at the same postion and when i select entire row of the listview it goes disapper and goes behind selection(might not seen).
so i need to display the progressbar in such a way that when i add an item in the list view it will show with subitem in the listview.
and when event fired it shows the progress bar in the progress mode.
i am using win32 API on .net 2005. OS SERVER 2003.
i have seen some demos but they are realted with MFC.
Thank you
AMIT
|
|
|
|
|
i try to start another thread with this code
CGLMFCDlg * MyThread= new CGLMFCDlg;
_beginthread(MyThread->Thread, 0,NULL);
delete MyThread;
the new thread is a void function, i get a error message as follows:
error C3867: 'CGLMFCDlg::Thread': function call missing argument list; use '&CGLMFCDlg::Thread' to create a pointer to member
Any sugestions on how i can solve this?
thanks
|
|
|
|
|
For an address of a member function the compiler is expecting you to use the address-of
operator:
_beginthread(&MyThread::Thread, 0,NULL);
|
|
|
|
|
that gives me an error like this error C2664: '_beginthread' : cannot convert parameter 1 from 'void (__thiscall CGLMFCDlg::* )(void)' to 'void (__cdecl *)(void *)'
1> There is no context in which this conversion is possible
|
|
|
|
|
The thread proc needs to be defined correctly. For a member function it needs to be declared
static.
Mark
|
|
|
|
|
It looks like your using MFC, so why not use AfxBeginThread ? No big difference though . And are you sure MyThread->Thread is static?
:Gong: 歡迎光臨 吐 西批 :Gong:
|
|
|
|
|
thanks, that solves it
|
|
|
|
|
Hi All,
I posted my question earlier also but wasn't really satisfied. So, asking it again.
I have two comboboxes and if I select first item from first combobox then the second combobox should be disabled. And if I select any other items expect the first item from the first combobox, then the second combo box should be enabled.
I know how to disble and enable a window(using EnableWindow) but the problem I have is that I am not able to select that first item in the first combobox selecting which I disable my second combobox.
In the following code, I was trying it using GetCurSel and SetCurSel but it doesn't work. In the code, m_Au is the member of first combobox.
V is the first item in the first combobox of #define type.
m_C is the member of Second Combobox.
int nToken = m_Au.GetCurSel();<br />
m_Au.SetCurSel(0);<br />
if (nToken == V) <br />
{<br />
m_C.EnableWindow(FALSE); <br />
}<br />
else<br />
{<br />
m_C.EnableWindow(TRUE);<br />
}
I populated my second combobox dynamically based on the first combobox. So, I mean to say that they are related to each other.
I will really appreciate the help.
C++Prog
|
|
|
|
|
celllllllll wrote: I have two comboboxes and if I select first item from first combobox then the second combobox should be disabled. And if I select any other items expect the first item from the first combobox, then the second combo box should be enabled.
if (0 == m_Au.GetCurSel())
{
m_C.EnableWindow(FALSE);
}
else
{
m_C.EnableWindow(TRUE);
}
|
|
|
|
|
I really appreciate the answer but it doesn't work. It is disabling the second combobox for every selection in first combobox.
So, basically we can say the "if" statement isn't working.
Thanks for the help and reading the whole problem.
Thank You
C++Prog
|
|
|
|
|
Where are you calling this code - in response to a CBN_SELCHANGE message?
Are you still doing that m_Au.SetCurSel(0) ??
How about breaking it down...If you change the code as follows and put a breakpoint on the
"if" line....what is the value of CurSel when you select say, the second item in the list?
int CurSel = m_Au.GetCurSel();
if (0 == CurSel)
{
m_C.EnableWindow(FALSE);
}
else
{
m_C.EnableWindow(TRUE);
}
|
|
|
|
|
celllllllll wrote: m_Au.SetCurSel(0);
Why are you still doing it ?
:Gong: 歡迎光臨 吐 西批 :Gong:
|
|
|
|
|
May be you'd want to keep the selection back to the first item after a selection has been made, so you should put it in the bottom. eg :
int nToken = m_Au.GetCurSel();
m_Au.SetCurSel(0);
if (nToken == V)
{
m_C.EnableWindow(FALSE);
}
else
{
m_C.EnableWindow(TRUE);
}
m_Au.SetCurSel(0);
:Gong: 歡迎光臨 吐 西批 :Gong:
|
|
|
|