|
HI,
It works for a generic window also
if( CWnd::OnNcHitTest(point) == HTCAPTION)
return HTNOWHERE ;
|
|
|
|
|
Yes, it should work for all types of windows. The sample was just taken from main frame window in small SDI app.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi,
I guest windows provides the default action for moving
u cannot stop the moving, but u can get back to the same position
by using some thing ilke that foll code.
In WM_INITDIALOG, take the window rect and on OnMove
code it like the foll.
void CTstNoMoveDlg::OnMove(int x, int y)
{
CDialog::OnMove(m_Rect.left, m_Rect.top);
if( m_Rect.Width() > 100 )
::SetWindowPos(m_hWnd,HWND_NOTOPMOST,m_Rect.left,m_Rect.top,m_Rect.Width(),m_Rect.Height(),/*SWP_NOSENDCHANGING*/SWP_SHOWWINDOW);
}
The reason for the If condition is a WM_MOVE is sent before the dialog is
even properly instantiated at this pt the size might be rather less.
|
|
|
|
|
Hi,
Can someone tell me is there any way to use an ActiveX
control in CView. The intention is to use the ActiveX
with additional facility like drag and resize the ActiveX
control.
Regards,
Sansky
God is Good, all the Time.
All the Time, God is Good.
|
|
|
|
|
i am not understanding how to get the ' key .
for f1 key i have used vk_f1 virtual code .is there any such code for ' key. please do reply
|
|
|
|
|
What are you trying to do? Process WM_KEYDOWN message? Creating global keyboard hook for password sniffer? Something else?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
VK_OEM_3 on US keyboards.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
|
You are right, VK_OEM_3 is `~ where VK_OEM_7 is '".
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
You can check the char value with "'".
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Hi,
Does anyone knows how to convert RGB to HSB Value?
Thanks
Neha
|
|
|
|
|
|
Thanks for the reply.
But the HSL Value i will get through that function won't match with the value displayed in the window standard color dialog box.
|
|
|
|
|
|
|
I use an owner drawn menu class. I'd like to subclass the system menu of my dialog based app. Any ideas how I can do it please? Thanks
Jeremy Davis
http://www.astad.org
|
|
|
|
|
I've never done that, so treat this as educated guess
Use SetMenuItemInfo and pass MFT_OWNERDRAW in the fType field of MENUITEMINFO struct. This makes menu item owner-drawn. Have no idea how your class works, but you should at least get WM_MEASUREITEM and WM_DRAWITEM messages.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
I need to create a window, dialog, ... that shows a single string to a user. all this in 1 object, no resources, and this should work on modal and modeless parents.
what kind of MFC object should I use ?
Does Anyone has an example or suggestion ?
|
|
|
|
|
Busy == what? There will be some background work when dialog will be displayed?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Tomasz Sowinski wrote:
Busy == what? There will be some background work when dialog will be displayed?
yes, window needs to be modeless
|
|
|
|
|
What kind of background activity do you have? Is it a worker thread, or idle time processing or something else?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Something like this:
(like the MFC class CWaitCursor)
{
CWaitDialog Wait(_T("Wait a moment"));
//Perform heavy operation
} //destructor is called, Close Dialog
|
|
|
|
|
There's a problem with this approach. While your program performs 'heavy operation', no window - including main one and even your dialog - can be repainter. So your app will be basically frozen; all you can do is display a dialog with progress bar, but can't even have Cancel button.
You may consider moving background work into separate worker thread. Or - you can pump the messages periodically during 'heavy operation'.
Check the CWaitDialog class described by Jeff Prosise in the Wicked Code column in Feb'97 issue of MSJ. This article may be included in the MSDN installed on your harddisk; search for 'CWaitDialog'. If it isn't there, you'll should be able to find the article at msdn.microsoft.com
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Thanks,
But, I've already tried this approach.
The class works fine.
The problem is that a resource template is needed.
That is not preferrable, because the class is
shared over lots of different projects
|
|
|
|
|
NikoTanghe wrote:
The problem is that a resource template is needed.
That is not preferrable, because the class is
shared over lots of different projects
Check CDialog::CreateIndirect then. It allows you to create dialog template in memory - no resources required.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|