|
HI folks,
I used to programm a lot using MFC but quite a lot people told me that this would not
be such good for the performance of programs as writing just using the WinApi an they
also said for MFC the user needs to have certain Dlls that might be unavaiable and my
programs might not work.
So I tried to start programming direct WINAPI but it seems to me MS did nearly explain
nothing in their msdn documantadion.And I noticed manny function such as the AddString-
method of the CListBox were missing. Right now I'm searching a way to comunicate with
things like Listboxes,Buttons and Edits which I succeded to add to my window.
Does anybody knows a good adress to find information about programming in the Winapi
or can give me a clue how to solute my comunication-with-my-windowitems-problme ?
I would be glad about every Help
THanks a lot for every answer
Have a nice Day Alexander
|
|
|
|
|
Why just not bind statically to the MFC lib in your release build, then you don't have to worry about the MFC dll when you distribute.
|
|
|
|
|
There are many books dealing with this subject. Probably the best is "Programmin Windows" by Charles Peltzoid ( spelling might be wrong on last name ).
In WinAPI programming, windows talk to each other via the SendMessage or PostMessage functions. So what MFC does is just wrap this call in a class function.
--------------------------------------------------------------------------
In MFC:
extern CListBox lb;
lb.AddString( _T("Some String") );
--------------------------------------------------------------------------
In WinAPI
extern HWND hwndLB;
SendMessage( hwndLB, LB_ADDSTRING, 0, _T("Some String") );
--------------------------------------------------------------------------
Both code excerpts do the same thing.
Hope that helps.
Wayne
|
|
|
|
|
I'm not sure but checkout:
http://www.wotsit.org/
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
I have a configuration file that gets really big plus the memory needed is very high to load, use, and save file.
I know i can open a file w/out losing the data I had before when opening a file using the modeCreate bit on.
then I can overwrite data using seek() and the Write() or WriteString() for example.. (note I use C/C++(//) comments even on the lines of my file.)
//Load State
This is a very boring file.
//Load State
//Save State// file size not changed
This is *******boring file.]// Overwritten "a very " w/ "*******"
//Save State
Now I want to use overwriting and inserting of data in my configuration file.
Here is what I tied...
//Load State
....
[section ref]
48
[section ref]
23
....
//Load State
//Save State// file size not changed
....
[section ref]
23458ection ref]// Overwritten 48 but also Overwritten '\n' and "se" of the next line
16457
....
//Save State
So what I need is a memory saving function to extend the file x bytes and move all the following data down x bytes.
Here is what I need...
//Load State
....
[section ref]
48
[section ref]
23
....
//Load State
//Save State// file size will hope to be changed
....
[section ref]
23458// Overwritten 48 and added 3 bytes and pushed the down 3 bytes and extended the file 3 bytes
[section ref]
16457
....
//Save State
Thank you for your time.
I hope everyone can understand what I am getting at.
|
|
|
|
|
1) Open the existing file.
2) Open a new file.
3) Read the data to the point of insertion, writing this to the new file.
4) Write the new data to the new file.
5) Read the rest of the data to the end of the file, writing this to the new file.
6) Close old file.
7) Close new file.
8) Delete old file.
9) Rename new file to old file.
Hope that helps.
Wayne
|
|
|
|
|
I know this would work but the configuration file can get very big is save alot I am looking at file access proformance at this time.
|
|
|
|
|
I need to add one char after standard clock window in tray. I have it's HWND.
I also understand I have to subclass this window but can anyone give me a hint how exactly?
Source code very welcome!
Thanx in advance,
Julia
|
|
|
|
|
<<< In the name of GOD >>>
Hi all.
I deleted the menu item from my main menu,
Now, i want to update the menu, because the menu not compeletly clear of my menu !!!
HMENU hMenu = ::GetMenu(m_hWnd);
::DeleteMenu(hMenu, 4, MF_BYPOSITION);
Thanks for reply ...
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
I found my answer ...
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
How can i change the width of a tab in the property page?
Works it automatically via modifystyle or have i to do it manualy via set windowpos or similar and where can i do this?
Does anyone know?
|
|
|
|
|
Is it possible to get info of which function throws an exception? I want to know if CFile::Close() throws an exception in the CATCH block.
CATCH( CFileException, e )
{
// Does something like this exist?
if( e->ThrowingFunc() == Close )
{
//some code
}
}
Thanks
Daniel
|
|
|
|
|
Just put the CFile::Close() method into it's own try/catch block and that way you will know which function has thrown the exception. In terms of wether an exception 'knows' what function it has been thrown from, I don't believe that this exists.
Chris
|
|
|
|
|
I want the application window to have a gray background upon start up.. does anyone know how to do it?
|
|
|
|
|
Two ways. 1 - When you register your window class, create a gray brush and pass that as the background brush in the WNDCLASS(EX) struct. 2 - Handle the WM_ERASEBKGND message and paint the gray background when that message is sent to you.
--Mike--
http://home.inreach.com/mdunn/
The Signature, back by popular demand: Buffy. Pajamas.
|
|
|
|
|
In your window class that is registered set the brush to the stock brush index of COLOR_BTNFACE if you don't think the user will play around with their windows color scheme else pass in the handle to the GRAY_BRUSH from GetStockObject.
Cheers,
-Erik
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My thoughts are my own and reflect on no other.
|
|
|
|
|
<<< In the name of GOD >>>
Hi all.
How can i save RichEdit data to file ?
I wrote it, but it have errors ...
static DOWORD CALLBACK MyStream(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile *pFile = (CFile*) dwCookie;
pFile->Write(pbBuff, cb);
*pcb = cb;
return 0;
}
void CTestDlg::OnOK()
{
EDITSTREAM es;
CFile file("c:\\test.txt", modeCreate);
es.dwCooikie = (DWORD) &file;
es.pfnCallback = MyStream;
m_RichEdit.StreamOut(SF_RTF, es);
}
If possible write example about saving richedit data to file.
Thanks for reply.
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
I'm trying to convert a series of 3D points (XYZ) to a 2D (XY) surface.
In my application a series of lines run along the axes (think of pipes fitted together with elbows, tees, and crosses), they are 90 deg to each other.
I simply do the following to map my XYZ points to the YZ plane:
xp = (z + x * COS_45);
yp = (y + x * SIN_45);
This is not quite right. When drawn on a metafile, lines in the Z direction run Parallel to bottom edge, they should actually be at 30 deg. I can see that I need to get an x and y added value from the z-component, however I haven't had much luck.
A simple set of points:
(0,0,0)
(20,0,0)
(20,20,0)
(20,20,20)
(40,20,20)
Does anyone have the appropriate transformation/formula that I should use? Or good place to look? (I was trying to avoid matrices and doing some type of world to eye to screen transform - it seems it should be easier, since all my lines are at 90's)
Thanks
Mike
|
|
|
|
|
I have a 2 Column CListCtrl and I need to edit the text on the CListCtrl by DoubleClicking on the cell(in second column)
Would some one give a hint on how to do this.
Thanks
Iraivan
|
|
|
|
|
I develop a dialog box when I use the monitor resolution to 1024x760. However, I found that if i change the resolution to 640x480, the dialog box will be too big. How can I make the dialog to use two scrollbars in order to prevent this problem???
|
|
|
|
|
Scrollbars on a dialog are not a good idea IMHO, You would be better of breaking the dialog into smaller related peices and using a property sheet/pages.
P
|
|
|
|
|
Hi,
I am getting "DDE Server Window: seqncr.exe - Application Error" message, when I try to register my Exe application.
Note: seqncr is my exe name
I tried using seqncr /REGSERVER at the command prompt to register the exe.
I am getting this error only for Release version, not for Debug version.
Can anybody help me out with the various reasons, whcih will cause this error.
Thanks lot in advance!!
Rupanagudi
|
|
|
|
|
Anyone know a good XML Parser AND Writer Ansi C(++) class/Library. (Could not find what I was looking for on this WebSite).
Can be commercial, but preferably free.
--------------------------------------------------
If my messages appear curt, I apologize.
I try to be brief to save your time as well as mine.
--------------------------------------------------
|
|
|
|
|
The Xerces parser is pretty good for parsing and manipulating the DOM. My biggest problem is that, when I last looked, you have to write your own code to save an XML file. The Xerces parser, if your curious, is located at 'http://xml.apache.org/xerces-c/index.html'.
Jamie Nordmeyer
Portland, Oregon, USA
|
|
|
|
|
I'm using the latest Platform SDK from MS and have the latest SP for VC++6.0 installed on an ME platform . . . for some reason when I try to register a window class with RegisterClass() or RegisterClassEx() the call fails and GetLastError() returns ERROR_CALL_NOT_IMPLEMENTED. Does anyone know what's going on? It seems odd to me that I can't create the main class that Windows is founded on.
-Michael
|
|
|
|