|
I am creating my own framework (some already know), but there is one problem handling the WM_CREATE message.
This is my code
EWindow::EWindow(EString caption, EControl *parent, UINT menu) : EControl()
{
this->hInstance = hInstance;
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)OldControlProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = NULL;
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCTSTR)menu;
wcex.lpszClassName = caption.GetString();
wcex.hIconSm = NULL;
RegisterClassEx(&wcex);
EString wndclassstr = caption + "___";
hControl = CreateWindow(wndclassstr.GetString(), caption.GetString(), WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, parent->GetHandle(), NULL, NULL, NULL);
SetWindowLong(hControl, GWL_USERDATA, reinterpret_cast<long>(this));
}
As you know, the WM_CREATE Message is sent within the CreateWindow function, but this isn't cought at the right place, because I want him to do it object oriented. So, after the SetWindowLong(...) function. Does anyone know how I can fool the system, so the WM_CREATE message is sent after the SetWindowLong(...)
thanks in advance,
Sjoerd van Leent
LPCSTR Dutch = "Double Dutch "
|
|
|
|
|
I believe MFC solves this problem by using a Windows hook. In fact, if memory serves correctly, it uses WH_CBT for this very reason - WH_CBT gives you a hook into the CreateWindow function (HCBT_CREATEWND) that gets called before the WM_CREATE message is sent.
"We are the knights who say Ni" (The Knights Who Say Ni)
|
|
|
|
|
Now we are coming somewhere
thanks
LPCSTR Dutch = "Double Dutch "
|
|
|
|
|
Is there a way to do it without using a DLL? (Does somebody have the code, or a sample)
thanks in advance,
Sjoerd van Leent
LPCSTR Dutch = "Double Dutch "
|
|
|
|
|
Hi all,
I'm working with a database application.The database for my application is an access database.It is located on a remote machine.The database is password protected.I configured a dsn in my system and the database for that is configured by using the browse button on the 32 bit DSN dialog window.The database is placed on a shared folder in the remote PC.Both machines are running on windows 2000.
In my application i tried to open my database using the following code.But it throws exception.Can any one help me?.
CDatabase db;
db.OpenEx("DSN=regn;;pwd=employee",0);
With regards.
Shibu K.V.
Senior Research Associate.
VLSI ASIC Hardware Design Group
Electronics R&D Centre,Trivandrum
India
|
|
|
|
|
What description does the exception object contain >?
Did you check the permissions of the remote share ?
It should have permissions to write since the
lock file is created in the same place as the database.
|
|
|
|
|
try adding 'UID=admin;' to your connection string.
/=/=/=/=
Deus
/=/=/=/=
|
|
|
|
|
hi all,
I am using "mciSendString" api function to record the wave audio through
microphone.
My question is how can i capture the audio data in Integer array while recording?
Because I have to Plot the line graph(spectrum) by using these values while recording(real Time)
Please help me.
Is there any other method to Plot the graph while recording(realTime)
Thank in advance.
|
|
|
|
|
In the debug tab of your project settings, add the filename to the argumenst that would be passed through on the command line. You can then run in debug mode from VC.
Roger Allen
Sonork 100.10016
If I had a quote, it would be a very good one.
|
|
|
|
|
What can i do to close the current workspace?
rechi
|
|
|
|
|
i want to disable ctrl+alt+del under windows 2000 and SystemParameterInfo() is not working. here is the code
UINT _Junk;
// turn off ctl-alt-del
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,1,&_Junk,0);
// ... do stuff? like what?
// turn on ctl-alt-del
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,0,&_Junk,0);
what could be the problem, if anybody tells me.
|
|
|
|
|
it works only for Windows 95/98/Me
|
|
|
|
|
According to MSDN you shouldn't use SPI_SETSCREENSAVERRUNNING (look up SystemParametersInfo for details). Would SPI_SETSCREENSAVEACTIVE help here? - I don't think it would but it might be worth a try
If you have MSDN there, look up the article called 'HOWTO: Disable Task Switching on Win32 Platforms' - it talks about low level hooks to achive the goal. If you find an easier / better way please post a reply here for the rest of us!
Dylan Kenneally
London, UK
|
|
|
|
|
Hi there,
Just back from Barcelona for Tech-Ed 2002, and I saw in same presentations
that it was possible to use the new debugger shipped with Visual c++ with
the 6.0 compiler:
The question is:
1. How to do it?
2. I can still use after on the same machine
the debugger .NET with compiler 7.0 (Unmanaged C++)
Thanks, claudio
|
|
|
|
|
Hello,
i want to change the buffer contents of the CArchive or of the attached
CFile Object. But it is not allowed to make a write access in the "loading path" of serialization. I don't want to override the CArchive class.
Any solutions ?
Thanxs !
Marco
|
|
|
|
|
I have positioned an ActiveX control onto a tabsheet control. I now want the ActiveX control to resize with the window. For some reason i don't get the desired result, can nayone see where i am slipping up.
Thanks
Richard
Code Fragment:
Init Dialog - Creation of the ActiveX Control
m_tabSheet.GetWindowRect( &rc );
ScreenToClient( &rc );
rc.top += 30;
rc.bottom -=90;
rc.left += 5;
rc.right -= 40;
m_controlWrapper1.Create(m_hWnd,rc, _T("MSCAL.Calendar"), WS_CHILD, ....)
Resize Event
=============
RECT tabRC;
m_tabSheet.GetClientRect(&tabRC);
ScreenToClient( &tabRC );
tabRC.top += 30;
tabRC.bottom -=90;
tabRC.left += 5;
tabRC.right -= 40;
m_controlWrapper1.SetWindowPos(CWnd::wndTop, tabRC.left, tabRC.top,tabRC.right - tabRC.left, tabRC.bottom - tabRC.top,SWP_SHOWWINDOW);
|
|
|
|
|
One thing is that I think you'd better use the MoveWindow function instead of the SetWindowPos function in that case.
Have you checked the the coordinate don't reach something like a bottom higher than a top...
Computers have enabled people to make more mistakes faster than almost any invention in history, with the possible exception of tequila and hand guns.
- Carl Gundlach
|
|
|
|
|
I want implement full screen mode in my small application. I wrote codes
as follows:
cx =
cy =
SetWindowPos (hwnd, NULL, -4, -4, cx, cy, SWP_NOZORDER | SWP_FRAMECHANGED);
They work pretty well, the minor boring thing is that the task bar (if Not
autohide) is still there. it will not disappear unless I click it once? any
solution? thanks, thanks.
http://ihome.ust.hk/~zhaoming
|
|
|
|
|
Siuming wrote:
SetWindowPos (hwnd, NULL, -4, -4, cx, cy, SWP_NOZORDER | SWP_FRAMECHANGED);
Make that :-
SetWindowPos (hwnd, HWND_TOPMOST, -4, -4, cx, cy, SWP_NOZORDER | SWP_FRAMECHANGED);
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
Very close Nish, but if you want to make the window topmost, you have to drop the SWP_NOZORDER flag
---
CPUA 0x5041
Sonork 100.11743 Chicken Little
Within you lies the power for good - Use it!
|
|
|
|
|
|
Many Thanks! It works!
goal
|
|
|
|
|
Hi,
I have been trying the same thing,But my window is not shown properly.
In my code
cx=GetSystemMetrics(SM_CXFULLSCREEN);
cy=GetSystemMetrics(SM_CYFULLSCREEN);
Regards
Neha
|
|
|
|
|
Dear,
What I've used are:
<br />
int cx = GetSystemMetrics (SM_CXSCREEN);<br />
int cy = GetSystemMetrics (SM_CYSCREEN);<br />
int cyCaption = GetSystemMetrics(SM_CYCAPTION);<br />
int cyMenu = GetSystemMetrics(SM_CYMENU);<br />
SetWindowPos (hwnd, HWND_TOPMOST, -4, -(cyCaption + cyMenu + 4), screenx + 8, screeny + (cyCaption + cyMenu) + 8, SWP_FRAMECHANGED);<br />
|
|
|
|
|
Hi,
I've recently installed .NET and is familiarizing myself with it right now. With
the common-runtime and C# is C++ getting less love from MS? I've been developing
with VC6.0 for some time now and I like it ok, but the .net release seems
to be moving in a general direction away from c++.
I am just wondering about the future of my favorite language?
Is the future with c# now? Or is it managed c++?
Is MFC or ATL based apps outdated now?
In essence, I'm wondering what I should focus on in the .Net world?
faust
|
|
|
|