|
|
if you cannot change the style workaround is have to two controls drowndown and droplist in the same place in the dialog and show the one you need
|
|
|
|
|
You cannot change this style at runtime. You have the right idea: delete the combobox and create another with the appropriate style. First save all the relevant attributes of the original combo and stuff them into the new one when it's ready. I used the following code to change from DROPDOWN to DROPLIST:
DWORD dwStyle = m_Combo.GetStyle();
DWORD dwExStyle = m_Combo.GetExStyle();
int nID = m_Combo.GetDlgCtrlID();
CWnd *pPrevWindow = m_Combo.GetNextWindow(GW_HWNDPREV);
CWnd *pParentWnd = m_Combo.GetParent();
CFont *pFont = m_Combo.GetFont();
m_Combo.GetWindowRect(rect);
pParentWnd->ScreenToClient(rect);
m_Combo.DestroyWindow();
dwStyle &= ~CBS_DROPDOWN;
dwStyle |= CBS_DROPDOWNLIST;
m_Combo.CreateEx(dwExStyle, "COMBOBOX", "", dwStyle, rect, pParentWnd, nID);
m_Combo.SetFont(pFont, FALSE);
m_Combo.SetWindowPos(pPrevWindow, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
Hope this helps,
Regards,
Phil
|
|
|
|
|
Thanks! Your code worked great, except the dropdown height was not preserved, and I could not change it via SetDroppedWidth(). So the user could not see the "Yes" and "No" I put in the combobox. The font and such were preserved. Why couldn't I change the dropped width?
|
|
|
|
|
I am using CWebBrowser wrapper class to simulate web browser in my dialog based application. I am getting the browser. But menu bar and status bars are not visible. Is there any way to make it visible. I used setmenubar and other set functions to do that. But i am not getting the results. Please help.
sundar
|
|
|
|
|
how to modify the version info in the resource file, through vc7.net addin?
I want to auto increase the build version when building.
c++ : my dream
|
|
|
|
|
|
thanks, let me see...
c++ : my dream
|
|
|
|
|
How could I know where my app program starting (absolute path)
Thank you so much for your kindness
|
|
|
|
|
try
GetCurrentDirectory ()
R_Renjith The True CP ian
|
|
|
|
|
GetModuleFileName
Cheers,
Fredrik
<right>Sonork ID: 100.11430:PhatBoy
'It is so much simpler to bury reality than it is to dispose of dreams.'
- Don Delillo, Americana
|
|
|
|
|
This will not give the current directory. This will give the full path of the executable which is not same as the current directory
|
|
|
|
|
He did not ask for the current directory, he wanted to know where his application starts (runs), and that is what I answered to.
Cheers,
Fredrik
<right>Sonork ID: 100.11430:PhatBoy
'It is so much simpler to bury reality than it is to dispose of dreams.'
- Don Delillo, Americana
|
|
|
|
|
this is how i do it:
char curdir[_MAX_PATH];
if( _getcwd( curdir, _MAX_PATH ) == NULL )
{ AfxMessageBox("Unable to determine the current working directory");
bInitSuccessful = FALSE; }
m_strWorkingPath = (CString)curdir + "\\";
is GetModuleFileName() a better method?
i notice it returns the full path and executable..
-dz
|
|
|
|
|
GetModuleFileName can be used to retrieve the path of the running application, whereas _getcwd (and GetCurrentDirectory) can be used to retrieve the current directory.
The current working directory need _not_ be the same as the location of the running application.
Cheers,
Fredrik
<right>Sonork ID: 100.11430:PhatBoy
'It is so much simpler to bury reality than it is to dispose of dreams.'
- Don Delillo, Americana
|
|
|
|
|
Once you have the path of the running application, you can use _splitpath() and related functions.
|
|
|
|
|
wow, a function like this does exist there. What I did is:
TCHAR szBuff[_MAX_PATH];
::GetModuleFileName(AfxGetInstanceHandle(), szBuff, _MAX_PATH);
char ch = '\\';
char * pdest = strrchr(szBuff, ch);
to extract the application name from its full path.
|
|
|
|
|
or, you could use _splitpath.
-c
Cheap Oil. It's worth it!
|
|
|
|
|
oh, yeah, I think I'd better use it since it is more robust.
|
|
|
|
|
try
extern char ** __argv;
and then use __argv[0];
|
|
|
|
|
"As one microcosmic example, take a look at IEnumerable and how it enables you to provide enumeration capabilities for any class!"
Can anyone tell me what enumeration capabilities are? I often see classes with Enum in them...
|
|
|
|
|
Hi all,
I would like to know what is Microsoft Visual C++ .NET standard?
Is it new version of Microsoft development studio?
If so what is new with this or what I can do more?
Can I compile application built with VC++ 6.0 if I install MS VC++ .NET standard?
thanks
regards
/rsasalm
|
|
|
|
|
Anonymous wrote:
Is it new version of Microsoft development studio?
Yes.
Anonymous wrote:
If so what is new with this or what I can do more?
Many classes added in addition to revious classes. Also new language named C# is availabe too.This language completely based on .NET framework.
Anonymous wrote:
Can I compile application built with VC++ 6.0 if I install MS VC++ .NET standard?
I think in most case yes but not all of them.
Mazy
"If I go crazy then will you still
Call me Superman
If I’m alive and well, will you be
There holding my hand
I’ll keep you by my side with
My superhuman might
Kryptonite"Kryptonite-3 Doors Down
|
|
|
|
|
Mazdak wrote:
think in most case yes but not all of them.
huh?
Why should it be impossible to compile some VC++6 projects in VC++.NET??
noo... thats not true... but if you compile VC++.NET projects in VC++6 you can get problems because there is some difference between MFC7 and that MFC that VC++6 has (MFC4 or what it is)!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C# and C++!
|
|
|
|
|
Rickard Andersson wrote:
Why should it be impossible to compile some VC++6 projects in VC++.NET??
Rickard,I heard it here lots of time and sombody gave me some links about it too.But I can't remember it now to tell it to you.
Mazy
"If I go crazy then will you still
Call me Superman
If I’m alive and well, will you be
There holding my hand
I’ll keep you by my side with
My superhuman might
Kryptonite"Kryptonite-3 Doors Down
|
|
|
|