Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

c++ / WinAPI Dialog-based Prog!

Diskussion: c++ / WinAPI Dialog-based Prog! im Forum Code Kitchen, in der Kategorie Software Home; Anzeige hi! ich hab ein dialog-based Win-Api Programm geschrieben. Es kann ohne Error compiled werden, jedoch wird der Dialog beim ...

Antwort
Alt 24.06.06, 04:13   #1 (permalink)
 
Registriert seit: 02.02.06
eqw0uL Leistung: Facit NTK
eqw0uL eine Nachricht über ICQ schicken
Likes: 0
Unhappy c++ / WinAPI Dialog-based Prog!

Anzeige

hi!
ich hab ein dialog-based Win-Api Programm geschrieben. Es kann ohne Error compiled werden, jedoch wird der Dialog beim ausführen nicht angezeigt.

ich habe viel gegoogled und kam immerwieder auf fast das selbe Ergebnis: diesen Code. Irgendwo habe ich auch gelesen, dass das dritte argument der DialogBox() funktion nicht NULL sein darf. Ich weiß allerdings nicht wie ich ein windowhandle übergeben soll, da ja noch keins existiert. Irgendwo habe ich auch

Code:
HWND hwnd = DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), hwnd, DialogProc);
gelesen. Das funktioniert aber auch nicht.


Code:
#include <windows.h>

#include "rc.h"

BOOL CALLBACK DialogProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                   LPSTR lpCmdLine, int nCmdShow)
{
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DialogProc);
	return 0;
}

BOOL CALLBACK DialogProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch(message)
	{
		case WM_INITDIALOG:
			return 1;
		case WM_CLOSE:
			EndDialog(hwnd,2);
			return 1;
	}
	return 0;
}
Wär nett wenn mir jmd helfen könnte, vielen dank im vorraus ;D

so long .. eQ
eqw0uL ist offline   Mit Zitat antworten
Alt 26.06.06, 00:08   #2 (permalink)
 
Registriert seit: 25.06.06
maehbar Leistung: Facit NTK
Likes: 0
Standard

aloah,

bei mir ( vc 7 ) funktioniert der Code einwandfrei
prüfe doch mal, was DialogBox zurückgibt? sollte es -1 sein, tuts die Funktion nicht, andernfalls wüßte ich auch nicht viel weiter, vielleicht was an der resource-datei ...

dass hWndParent nicht NULL sein darf wüßt' ich nicht, denn laut MSDN ist DialogBox nur ein Macro mit CreateWindowEx, wo folgendes zu demselben Parameter steht:
Zitat:
hWndParent
[in] Handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows.
und soweit ich verstehe bedeutet ein ungültiges Handle ein Fenster/Dialog ohne Eltern

und zum ersten Codestück:
Code:
HWND hwnd = DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), hwnd, DialogProc);
imho ist das Blödsinn, hwnd bekommt erst nach dem Aufruf von DialogBox einen Wert zugewisen, davor enthällt die Variable höchstens NULL oder ein rein zufälliger Wert.

maehbar,
aloah.
maehbar ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 28.06.06, 02:51   #3 (permalink)
Themenstarter
 
Registriert seit: 02.02.06
eqw0uL Leistung: Facit NTK
eqw0uL eine Nachricht über ICQ schicken
Likes: 0
Standard

danke für deine Hilfe
ich hab mir flott ne funktion geschrieben:
Code:
void GetErr0rFromDialog(int erCode)
{
	if(erCode < 0) 
	{
		char erBuf[1];
		char erBuf2[16];
		
		wsprintf(erBuf,"%i",erCode);
		DWORD errCode = GetLastError();
		wsprintf(erBuf2,"%i",errCode);
		
		MessageBox(NULL, erBuf,
                       "DialogBox gibt zurück...",
                       MB_ICONINFORMATION | MB_OK | MB_DEFBUTTON1);
		MessageBox(NULL, erBuf2,
                       "Error-code...",
                       MB_ICONINFORMATION | MB_OK | MB_DEFBUTTON1);
	}
}
und bin fix über die in der msdn aufgeführten error-codes auf einen fehler in meiner .rc gestoßen. schuld war der resource-editor :>

gut nächtle
eqw0uL ist offline   Mit Zitat antworten
Alt 28.06.06, 13:26   #4 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Das mit den Error-Codes geht auch noch einfacher(ohne Code nachschlagen..):
http://msdn.microsoft.com/library/de...matmessage.asp
http://msdn.microsoft.com/library/de...error_code.asp
Lesco ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » c++ / WinAPI Dialog-based Prog!
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login Dialog, wie macht man das? AceKiller73 (Web-) Design und webbasierte Sprachen 5 26.02.07 00:26
Ein sehr sinnvoller Dialog Valentin Fun Section 8 31.01.05 15:59
Kritische Sicherheitslücken im Internet Explorer und in allen "tabbed based" Browsern Rushjo News & Ankündigungen 0 21.10.04 12:36
application based attack (DoS) poiin2000 (In)security allgemein 16 02.09.03 21:34


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61