|
It looks like s_initialized will be reset to false again once "int foo::s_initialized = false;" is executed, which means that initialization will be done twice.
Regards,
Alexander.
|
|
|
|
|
How about this then?:
class foo<br />
{<br />
static bool s_initialized;<br />
static int s_a;<br />
int m_var;<br />
foo()<br />
{<br />
if (!s_initialized)<br />
{<br />
s_a = 1;<br />
s_initialized = true;<br />
} <br />
m_var=s_a;<br />
}<br />
};<br />
bool foo::s_initialized;<br />
int foo::s_a=0;
Weird and funny!...
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
I guess it will be the same. foo::s_initialized will be initialized again to something we are not sure what But I am guessing it might work as well. I am using approach suggeseted by Joaqun. But thank you for your help. It is good to know alternative ways
Regards,
Alexander.
|
|
|
|
|
how create thread into the same class?
*.h
class TheClass : CDialog
{
public:
TheClass(CWnd* pParent = NULL):
void StartThread();
UINT TheThread(LPVOID);
}
*.cpp
UINT Theclass::TheThread(LPVOID)
{
//Code for th thread
}
void TheClass::StartThread()
{
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
hThread = CreateThread(NULL,0, TheThread, &dwThrdParam,0,&dwThreadId); // error c2664
}
How cast the TheThread param correctly?
Thanks you
|
|
|
|
|
This is one of the most asked issues here in CP. Take a look at the Code Project Visual C++ Forum FAQ[^], item 6.1 "Why can't I use a member function as a callback?"
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi,
I'm searching for a possibility to fade out a programs main window to grey while another dialog message is hanging around - as been seen when you choose Start->Shutdown in Windows XP.
Therefore I looked into the GDI+ documentation but found something for the alpha-channel (could be used to make windows transparent I guess).
What is the best way to fade a window to grey ? Did I have to make a in memory bitmap of the window and change that bitmap's color palette ?
Can somebody can give me a hint which direction I should consider ?
best regards
a
|
|
|
|
|
I don't know how to fade a window to grey, but you could use AnimateWindow() to make a window translucent.
VERIFY (AnimateWindow (GetSafeHwnd(), 10, AW_BLEND));
/ravi
Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Hi all,
my problem is a little complicated so bare with me.....
i have a MFC dll (dynamicall linking with mfc dll). there i've created my owner draw dialog class. it has a base template in the resources, but the constructor of the dialog can recevie a template ID as one of its parameters...
i've created an exe MFC application to use the dialog, i've created a dialog in the resources and then i've pass the resource ID to the constructor of the dialog instance, and then created DoModal().....
problem is , if i implement DoModal() in the base owner draw class (which is located in the MFC dll application ) and then call the AFX_MANAGE_STATE macro , then MFC dll application never receives the OnInitDialog().....
and if i don't implement the DoModal() then i get a crash........
can any1 help here? i am really desperate.....
thanks in advanced
Yaron
Ask not what your application can do for you,
Ask what you can do for your application
|
|
|
|
|
AfxSetResourceHandle() should give you an answer.
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
Does anyone here know how to highlight an icon ( or other image type ). I am working on a project that i want to be able to display an icon with some text and have it be able to obtain a selected state it which the image will becomes "hazed" with the system highlight color much like the icons in the windows shell when you click on them. The closest i have come on my own is using the AlphaBlend function but then i am left with a background that isn't transparent and so i can't Blt it to the Primary DC. Any ideas?
Please note that i can not use Image Lists to do this.
Joseph Dempsey
joseph_r_dempsey@yahoo.com
|
|
|
|
|
I think it can be done with DrawState , using GetSysColorBrush(COLOR_HIGHLIGHT) as the brush. If this does not work, some playing around with the parameters may get the result you desire.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
You know, that was the first function that came to mind for me as well but unfortunatly there is no state flag for selected. I'll look into drawing it with a brush like you said though but i don't think i'm going to hold my breath because MSDN docs on the function say that the brush is only used for drawing the image in a monochrome state which wouldn't do me to much good
Joseph Dempsey
joseph_r_dempsey@yahoo.com
|
|
|
|
|
I'm using IE's IWebBrowser used in my dialog application.
How to force it to navigate always in this window,
even when user clicks on target="_blank" ?
(now every time on such link new IE window is created)
Thanks
rrrado
|
|
|
|
|
rrrado wrote:
How to force it to navigate always in this window,
even when user clicks on target="_blank" ?
The target="_blank" operative is supposed to open a new window. Try using target="_self" instead.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I'm creating custom web browser, user is browsing 3rd party html pages, I can't change source, just want to override this settings
rrrado
|
|
|
|
|
Processing NewWindow2 event may give you an answer.
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
I tried to return back in NewWindow2 event IDispatch of current webbrowser,
but it didn't work, new IE window was created anyway
rrrado
|
|
|
|
|
Then, call MSFT: it works just fine in several of my projects...
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
What is MSFT ???
rrrado
|
|
|
|
|
MSFT is NASDAQ symbol for MicroSoft.
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
I have a list control within a dialog box and when the user clicks on the vertical scroll bar in the control, I need something to happen within that control.
I have tried to use message maps to handle the WM_VSCROLL message in both the dialog class and the CListCtrl derived class. Neither of these classes ever seem to get a WM_VSCROLL message.
Does anyone know what message is sent when a user clicks on the vertical scroll bar in a list control?
Thanks.
|
|
|
|
|
It is WM_VSCROLL .
I assume that you've drawn a list view control in your dialog template. If you only used Attach to attach your CListCtrl -derived object, you won't get all the messages. You need to either use SubclassWindow , or you can use DDX_Control in your dialog's DoDataExchange override.
|
|
|
|
|
Mike Dimmick wrote:
or you can use DDX_Control in your dialog's DoDataExchange override.
I have used DDX_Control in my dialog's DoDataExchange override:
DDX_Control(pDX, IDC_ELEMENT_LIST, m_elementList);
where m_elementList is of type CElementListCtrl, my ListCtrl derived class. In CElementListCtrl I have both a function to handle the WM_VSCROLL message and an override of PreTranslateMessage() where I put in:
if(pMsg->message == WM_VSCROLL)
AfxMessageBox("WM_VSCROLL message received");
but that if statement never gets executed either, which leads me to believe that this message is never getting sent. I had also tried to put a function in my dialog class to handle the WM_VSCROLL message as well, just to see if the dialog class was getting the message instead of my list control, but it wasn't.
|
|
|
|
|
Hi
I would like to set a packet priority so it can be it gets 1st priority over the packet of other application. I've come accross function setsockopt() of winsock 2.0 but it doesnt seem appropriate. Also in win2k it has a new concept called QoS and in this there is Differentiated Service set of API, would this be appropriate for what i want, how about if one end-point use windows 2000 and the other end use windows 98?
Regard,
|
|
|
|
|
Hi,
I have launched an executable from my program using ShellExecuteEx(). However, I want this program initially to run in the background in a hidden state. Setting the nShow property of the SHELLEXECUTEINFO structure to SW_HIDE in this instance doesn't work - presumably because the launched program won't allow it (in accordance with what it says on MSDN, ie. that this info is passed to the program but it's up to the program how to use it). Thus, I guess I need to explicitly call ShowWindow with SW_HIDE set to hide the window created. The problem is, how do I do this effectively, so that the main window of the program launched is hidden from the very start? At the moment I am using FindWindow(), like this:
<br />
ShellExecuteEx(&app);<br />
<br />
HWND app_hWnd;<br />
<br />
while(app_hWnd == 0)
{<br />
if(WaitForSingleObject(app.hProcess,0)==WAIT_TIMEOUT)<br />
{ <br />
ShowWindow((app_hWnd = FindWindow("app_mainwin",NULL)),SW_HIDE);<br />
<br />
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))<br />
{<br />
TranslateMessage(&msg);<br />
DispatchMessage(&msg);<br />
}<br />
}<br />
else<br />
{break;}
}<br />
This isn't a great solution, though, as the launched program window is shown for a couple of seconds before FindWindow() and ShowWindow() catch it and hide it.
Does anybody know of a better way of doing this, so that the launched application window is not shown at all until I call ShowWindow again with SW_SHOW?
...Talking of which, I have a secondary problem relating to this. When I do call ShowWindow(app_hWnd,SW_SHOW) to restore the window, even after the window is shown again, it does not appear in the taskbar until I alt-tab out of it and back in again. How do I ensure that a program's window is restored to the taskbar on re-showing it? (I have tried SW_RESTORE, SW_SHOWNORMAL etc...)
Any suggestions or help much appreciated, as always.
Many thanks,
KB
|
|
|
|