|
WREY wrote:
Where does 'nFontType' get set to be a combination of the various *FONTTYPE*? Does it get set by the function that activates EnumFontFamProc?
Because it's used as an input parameter, it had to be initialized somewhere and by something!
William
All 4 parameters are [in] parameters. Usually when we see [in] we instantly think of it as to be initialized by us. But in this case the callback function is called by the API for us. Means they'll populate all the parameters. What's [in] for them is a sort of [out] for us. So you don't have to worry about them being [in] parameters.
If you are implementing some other user based api call, and you wish to use this same callback function as the callback, then you need to populate them. But in your case, you don't have to do that.
I hope I make myself clear.
Regards,
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
How to get window hwnd of a process if i have its process id ?
How to get total no of windows hwnd that a process created ?
and how to get its active window hwnd?
if i want to get a condition that a process is performing processing or not what to do?
plz help.
r00d0034@yahoo.com
|
|
|
|
|
imran_rafique wrote:
How to get window hwnd of a process if i have its process id ?
You can use GetWindowThreadProcessId while you enumerate (using EnumWindows ). GetWindowThreadProcessId can be used to find process id based on window handle.
ÿVOTD:3 "Do nothing out of selfish ambition or vain conceit, but in humility consider others better than yourselves. 4 Each of you should look not only to your own interests, but also to the interests of others." - Phi 2:3-4
|
|
|
|
|
i have used EnumWindows but i could not understand how to do it plz explain a little so that i could got some thing out of that.
plzzzzzzzzzzz
r00d0034@yahoo.com
|
|
|
|
|
I don't know if you found the answer to your question, if not, try this:
struct FindHwndWithProcIdStruct{
DWORD dwProcId;
HWND hWnd;
};
HWND DoFindWindowWithProcId(DWORD dwProcessId)
{
FindHwndWithProcIdStruct myProcIdStruct = { 0 };
myProcIdStruct.dwProcId = dwProcessId;
::EnumWindows(gfnEnumWindowProc, (LPARAM)&myProcIdStruct);
return myProcIdStruct.hWnd;
}
BOOL CALLBACK gfnEnumWindowProc(HWND hWnd, LPARAM lParam)
{
DWORD dwProcessId = 0L;
DWORD dwThreadId = GetWindowThreadProcessId(hWnd, &dwProcessId);
if (dwProcessId == ((FindHwndWidthProcIdStruct*)lParam)->dwProcId;
{
((FindHwndWidthProcIdStruct*)lParam)->hWnd = hWnd;
return FALSE;
}
return TRUE;
}
ÿVOTD:Psalm 117
1 Praise the Lord , all you nations; extol him, all you peoples.
2 For great is his love toward us, and the faithfulness of the Lord endures forever.
|
|
|
|
|
How do I select an item in a list box? I'm calling the following code, but that doesn't select anything. What's the correct code to use?
<br />
ServerListCtrl.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);<br />
ServerListCtrl.EnsureVisible(0, FALSE);<br />
Thanks!
|
|
|
|
|
Use SetCurSel() and SetSet().
Kuphryn
|
|
|
|
|
How? They aren't members of CListCtrl
|
|
|
|
|
Oh. Those functions work for a list box, not a list control.
Kuphryn
|
|
|
|
|
That looks right to me (although you're using a list view control, not a list box, they are different things). If your control doesn't have the LVS_SHOWSELALWAYS style, the selection won't be visible when the control does not have the focus, so maybe that's causing the problem.
--Mike--
Just released - RightClick-Encrypt v1.4 - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Thanks, I think that did the trick
|
|
|
|
|
any ptrs to exmaple using MSFlexGrid with each cell displaying a combo box control upon clicking?
Thanks
|
|
|
|
|
I want to display the database records in the listbox. All I have done with database is specifiying the database support while creating the project so that I get a record by record display.
Could anyone tell how to implement it?
Thank You
|
|
|
|
|
A lot depends on what kind of database access you are using and what kind of database you are accessing. ADO is the easiest method and is well documented with examples at http://www.codeproject.com/database/
Michael
Programming is great. First they pay you to introduce bugs into software. Then they pay you to remove them again.
|
|
|
|
|
Looking for an ACM (Audio Compression Manager) tutorial somewhere. I've just made an app that enumerates all the different drivers and formats, but i don't know how to convert from one format to another.
Thanks
-Rune Svendsen
|
|
|
|
|
Hi
do you know how to include inline assembler code in Dev-C++?
I tried __asm {}, _asm {}, asm {}, __asm__ {}, but nothing works...
-Dominik
|
|
|
|
|
From MSDN:
int power2( int num, int power )
{
__asm
{
mov eax, num ; Get first argument
mov ecx, power ; Get second argument
shl eax, cl ; EAX = EAX * ( 2 to the power of CL )
}
}
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Your example doesn't work.
Error: "parse error before { in line xxx"
((
-Dominik
|
|
|
|
|
|
I want to create a array (CArray, CPtrArray, ...) of pointers of a class, like "CMeasureItem*". I have no experience with arrays in mfc, so could anyone tell me what kind of mfc array I should use?!?!
CTypedPtrArray<CPtrArray, CMeasurementItem*> m_measureItems; ????
or
CArray<CMeasurementItem*, CMeasurementItem*> m_measureItems; ????
...
????
--
Nice greets, Daniel.
--
Nice greets, Daniel.
|
|
|
|
|
If you don't mind using STL, you'd have to use a std::vector<CMeasureItem *> .
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Don't use MFC arrays at all - they are crap. Use std::vector. I have some tutorials on CP, and there are others, too.
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Cats, and most other animals apart from mad cows can write fully functional vb code. - Simon Walton - 6-Aug-2002
|
|
|
|
|
I want to create a array (CArray, CPtrArray, ...) of pointer to a class, like "CMeasureItems*". I have no experience with arrays in mfc, so could anyone tell me what kind of mfc array I should use?!?!
CTypedPtrArray<cptrarray, cmeasurementitem*=""> m_measureItems; ????
or
CArray<cmeasurementitem*, cmeasurementitem*=""> m_measureItems; ????
...
????
--
Nice greets, Daniel.
|
|
|
|
|
try std::vector<cmeasureitems *="">
|
|
|
|
|
Hi...
With MFC you've 3 types of simple container
1. Array : with CArray
2. List : with CList (very useful)
3. Map : with CMap
You've also containers of typed pointers. For example CTypedPtrList
With CArray, use this command for an array of CPoint named PointArray
CArray<CPoint, CPoint&> PointArray;
To add a point:
PointArray.Add(aPoint);
Advice: It's recommended to use the method SetSize() for initialize the size of the array and avoid a lot of reallocation.
To extract an element:
aPoint = PointArray.GetAt(2);
To change an element:
PointArray.SetAt(3, NewPoint); // stock the NewPoint in the place of the 4th element
But I find CList more useful...
With CList, use this comand for a list of CPoint named PointList
CList<CPoint, CPoint&> PointList;
To add a point:
PointList.AddTail(aPoint); // in the end of the list
PointList.AddHead(aPoint); // in the head of the list
To insert a point:
PointList.InsertBefore(aPosition, ThePoint); // before the aPosition (type = POSITION)
PointList.InsertAfter(aPosition, ThePoint); // afterthe aPosition (type = POSITION)
The GetNext() return a value of type POSITION which is the position of the next pointed element.
For an iteration inside the list use this loop:
CPoint CurrentPoint(0,0);<br />
POSITION aPosition = PointList.GetHeadPosition();<br />
while(aPosition)<br />
{<br />
CurrentPoint = PointList.GetNext(aPosition);<br />
}
For more information... MSDN of course (but it's really a mess)
Hello World!!!
from Raphaël
|
|
|
|