|
Hi all,
As beginner i have, i'm sure, a very simple problem;). How can i use a DblClick in a CEdit control. I have try use WN_DBLCLICK message in the CDialog parent without success .
Thanks for your help.
Best Regards
Olivier JOLY
|
|
|
|
|
One solution is to add a message handler for WM_LBUTTONDBCLK and determine if the mouse coordinate is inside of the control via PtInRect().
Kuphryn
|
|
|
|
|
To handle the double-click, you need to know if the control is supporting notification, which for EDIT controls would be EN_xxxx. There's no DBLCLICK for that, so you will have to derive your own class from CEdit and add a WM_LBUTTONDBLCLK handler in there. You can do whatever processing you need in there, or alternatively, send or post a message to the parent window, which would be the CDialog.
Steve S
|
|
|
|
|
Hi !
We are using Visual Studio 6 and FreeCVS.
I've noticed that some cpp files (which I didn't create) have a header which seems to be automatically updated with the file path and file version. The text line displaying these informations starts with a $Header.
I tried to do the same for my own cpp files, but couldn't make it work.
Could anyone tell me how to do that ?
Thanks !
Jerome
|
|
|
|
|
FreeCVS is expanding the $Header when you get files from it.
It won't work unless your cpp files are also managed by FreeCVS.
Most SCM tools have a similar facility.
Steve S
|
|
|
|
|
Does anyone know of a function to get DPI of the monitor?
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
I think you shoudl use GetDeviceCaps on the screen device context:
<br />
HDC screen = ::GetDC(0);<br />
double dftScaleX = 1;<br />
double dftScaleY = 1;<br />
dftScaleX = GetDeviceCaps(screen, LOGPIXELSX);<br />
dftScaleY = GetDeviceCaps(screen, LOGPIXELSY);<br />
::ReleaseDC(theHandleOfThisWindows, screen);<br />
|
|
|
|
|
thank you.
I had tested the API before. This will only return the DPI used by windows to display the font for example the menu fonts, shortcuts and etc. There are ony 120 or 96 as options.
My intention is to get the DPI use by the window to display all the items in the windows. All the elements on the screen.
For instance. This is extracted from www.shortcourses.com
Monitor size
Resolution 14" 15"
640x480 60 DPI 57 DPI
800x600 74 DPI 71 DPI
1024x768 95 DPI 91 DPI
Anyway, suppose I am able to get the resolution. How should I get the monitor size by API?
thanks
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
Sorry, I don't know how to get the monitor size via API. I am not sure if you can do this. Did you try to use the options HORZSIZE/VERTSIZE of GetDeviceCaps?
There is an article in MSDN which describes how to write high-DPI applications. You may find some information in this article which are useful for you.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngdi/html/highdpiapp.asp
How to Write High-DPI Applications
Nick Kramer
Microsoft Corporation
March 2001
|
|
|
|
|
thank you
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
Hi,
Does any one of you experts know how to compress the windows registry programmatically ?
ANy links would also be helpful
balu
|
|
|
|
|
Why would you want/need the registry compressed? As often as it's accessed, you'd likely suffer a performance hit.
|
|
|
|
|
do u mean "compress" or clear deleted keys to make it smaller?
Don't try it, just do it!
|
|
|
|
|
I meant to remove the empty space, to make it smaller.
The empty space is created by the deletion of keys.
Hari Krishnan
|
|
|
|
|
Hello,
can one rely on the API function IsBadReadPtr? I mean, can we use it in our programs in release mode?
Background: I am programming a tool that detects SMBIOS. SMBIOS is normally mapped to address 0x000F0000. Under Win95/Win98 this is easily accessible, but under WinNT I need to check if I have permission to read from this address.
Now I wonder if I can use the function IsBadReadPtr for this.
-Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Dominik Reichl wrote:
I mean, can we use it in our programs in release mode?
Yes, I use it all the time.
- Anders
Money talks, but all mine ever says is "Goodbye!"
http://SourceLocker.net[^] SourceControl and DefectTracker Project.
nsms@spyf.dk <- Spam Collecting
|
|
|
|
|
Or would you use VirtualQueryEx?
-Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
IsBadReadPtr() have always been enough for me.
From MSDN:
The IsBadReadPtr function verifies that the calling process has read access to the specified range of memory.
That sounds exactly like what you want, right?
- Anders
Money talks, but all mine ever says is "Goodbye!"
http://SourceLocker.net[^] SourceControl and DefectTracker Project.
nsms@spyf.dk <- Spam Collecting
|
|
|
|
|
Anders Molin wrote:
That sounds exactly like what you want, right?
Yep, I just wasn't sure if that function has only been designed for debug mode. But if you say it works well in release mode, I use this function
Thanks
-Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
It looks like a very simple question, but I stuck with it !
I have the selfwritten ATL ActiveX. Then I wanted to place it inside the MFC window such as CMDIChildWnd to fill the entire client area. The only thing I want is that my ActiveX can get focus when the hosting window is activated. So I put the following code:
void CMyFrame::OnSetFocus(CWnd* pOldWnd) {
if (m_pView!=NULL)
m_pView->SetFocus();
else
CMDIChildWnd::OnSetFocus(pOldWnd);
}
where the CMyFrame is frame derived from CMDIChildWnd,
m_pView - my ActiveX pointer. It has a type of pointer to the ActiveX CWnd_wrapper created by the VC7 wizard "MFC Class from ActiveX control".
The problem is that my control gets focus only once - the first time the hosting window is activated.
I've tested my ActiveX in the simple dialog window - all is ok...
The ActiveX is created as:
int CMyFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
m_pView = new CMyControl;
if (m_pView!=NULL) {
CRect rect(0,0,0,0);
m_pView->Create(NULL,WS_CHILD | WS_VISIBLE | WS_TABSTOP,rect,this,1); // "this" - is a parent CMDIChildWnd
...
Does anybody has an idea ?
Thank you very much
P.S.
Actually I know the reason of that
I separated my message in two parts:
If I do something completly wrong, then you will see it from the first part - please tell me if its so
Now the details:
m_pView->SetFocus() actually does the DoVerb(OLEIVERB_UIACTIVATE) i.e. activates my ActiveX UI.
This is done internally by the COleControlSite::SetFocus.
The problem is that default implementation of COleControlSite ignores OnFocus(FALSE) event that comes from my ActiveX when it loses the focus. COleControlSite does not call UIDeactivate upon this event.
Since my control was once OLEIVERB_UIACTIVATEed and was not UIDeactivated it ignored the next DoVerb(OLEIVERB_UIACTIVATE) though it losts the focus (the ATL implementation).
I cannot modify this code since its in the ATL & MFC...
|
|
|
|
|
hello friends,
i just wanted to know How can i show The treectrl of a BrowseDlgBox with checkBox.
I mean i wanted to show the CheckBox when with the treectrl that is shown in an Browse Dlgbox this is a Folder Browse
If anyone can help !!!!!
I am working in MFC
Thanx
TAKE CARE
|
|
|
|
|
I draw WindowLess ActiveX beyond the rectangle provided by container,
so at redraw renews only part that is only within rectangule
provided by container,
how to make redrawn full area?
By SetClipRegion() ?
Or else?
How to make it possible to react to mouse at draw place?
Or
there is a simple method to move Windowless control from
it self ? (Best way may be due to resolves all above, I think)
Thanks you?
|
|
|
|
|
Hi!
I have a SDI application and I want it to be maximized when it starts... How can I do it?
Well... I am a beginner ...
|
|
|
|
|
Easy answer; somewhere along the line you're using ShowWindow to get the window displayed. Check out what arguments it takes; you're probably passing in a default one from MFC. You could pass in a different SW_ value...
Steve S
|
|
|
|
|
Thanks a lot. I was trying to do it with cs.style because I was disabling system menus from there but it wouldnt work!
Well... I am a beginner ...
|
|
|
|