|
You should do this before including windows.h.
You can also change it in the project settings. In C/C++ -> Preprocessor -> Symbol Defines add _WIN32_IE = 0x500
|
|
|
|
|
Just a small FWI: stdafx.h is (usually) used as the header file that creates the pre-compiled header (PCH) file. It has nothing to do with MFC.
The reason it was mentioned to put the #define _WIN32_IE 0x500 (near the top) of the stdafx.h file was so that it was #define d before the inclusion of any win32 header files that might be looking for that symbol.
Lastly, you may need to update your SDK files (Platform SDK) in order to get a header file that has the BIF_USENEWUI value in it. The "stock" files you get in an VC++ 6.0 install will not have it.
Peace!
-=- James.
"Some People Know How To Drive, Others Just Know How To Operate A Car."
(Try Check Favorites Sometime!)
|
|
|
|
|
I can't use ListView_GetItem cause it requires iItem to be filled...
|
|
|
|
|
Try to use ListView_FindItem.
int ListView_FindItem(HWND hwnd, int iStart, const LPLVFINDINFO plvfi);
typedef struct tagLVFINDINFO
{
UINT flags;
LPCTSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
} LVFINDINFO, FAR* LPFINDINFO;
1. Initialize a LVFINDINFO structure with your lParam value and flags set to
LVFI_PARAM.
2. Then call ListView_FindIntem with iStart = -1.
3. Returned value is what you need to get all other properties.
|
|
|
|
|
|
if your lparam is a ptr to a data structure, may be you can store the hitem in it when you create your listview items
|
|
|
|
|
Do you know how should i add MFC support to ATL project?
When i try to use #include <afxwin.h> in stdafx.h and i declare a CString in a method i get the following:
Linking...
mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in a.obj
mfcs42d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in a.obj; second definition ignored
Creating library Debug/a.lib and object Debug/a.exp
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/a.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
I've defined _AFXDLL and _USRDLL in the project settings and still doesn't work.
rechi
|
|
|
|
|
Here is how you fix it
1. Add a CWinApp derived class add InitIntance and ExitInstance functions.
2. Define _AFXDLL, _USRDLL
3. Move code from DllMain to appropriate InitInstance or ExitInstance method
4. Remove DllMain
Build and it will compile
|
|
|
|
|
Rama Krishna wrote:
1. Add a CWinApp derived class add InitIntance and ExitInstance functions.
2. Define _AFXDLL, _USRDLL
3. Move code from DllMain to appropriate InitInstance or ExitInstance method
4. Remove DllMain
Also set the linker option to link with MFC statically or dynamically
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Buy it, read it and admire me
|
|
|
|
|
Nish - Native CPian wrote:
Also set the linker option to link with MFC statically or dynamically
Defining _AFXDLL sets dynamic link.
|
|
|
|
|
Rama Krishna wrote:
Defining _AFXDLL sets dynamic link.
Woah! I didn't know that!
Thanks for these little snips of info Rama
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Buy it, read it and admire me
|
|
|
|
|
Hi everyone. I have a dialog with 2 combo boxes, one is for setting what kind of data which will be put into the second combo box. For example, "String" will set the data box into a dropdown were the user can type in a string, or "boolean", which would set the data box into a drop list (where there are two entires, "Yes" or "No". I want to be able to do this dynamically, as the user selects either "String" or "boolean".
I tried the following to set the data combobox from a dropdown to a drop list, with the dropdown already successfully created by default in the resource editor. When this code is run, the combo box font changed, the size of the box changed, and I could not set the drop down width to anything, and the width would be zero. The combobox did change to droplist though.
Is it possible to change the combobox from sropdown to drop list dynamically? Is there a correct way to do it, so I don't have to use an extra combobox? Thanks in advance for any help!
<br />
CRect rect;<br />
pFrom->GetWindowRect(rect);<br />
ScreenToClient(rect);<br />
<br />
pFrom->DestroyWindow();<br />
pFrom->Create(CBS_DROPDOWNLIST, rect, this, IDC_CBO_DATA);<br />
pFrom->AddString("Yes");<br />
pFrom->AddString("No");<br />
pFrom->SetCurSel(0);<br />
pFrom->ShowWindow(TRUE);<br />
pFrom->EnableWindow(TRUE);<br />
pFrom->SetDroppedWidth(70);<br />
<br />
|
|
|
|
|
|
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
|
|
|
|