"Dialog" aus *.res Datei laden

FishHead

Grünschnabel
Ich will ein in einer res Datei die ich auch in VC++ erstellt hab befindliches Fenster anzeigen und hier und da ein bisschen auf Buttons reagieren und etwas in Labels schreiben. Aber ich habe schon sooo viele Möglichkeiten ausprobiert- es wird nie angezeigt! Kein error- gar nichts. Kennt vielleicht jemand ein kleines Programm oder ein tutorial wo ichs mal sehen kann? MFC- nein das wollt ich dann doch lieber nicht, und mit winapi und winmain da ein kleines Fenster zu malen dürfte ja nicht so codelastig sein.

Vieeeeelen dank!

PS: Ich hatte hier schonmal einen Thread über ein OS was ich programmieren wollte, da wurd ich ganz schön demotiviert (jedenfalls versuchte man das :) )... So ich bin schon sehr weit (IRQs, IDT, PM, Zeit, Tastatur uvm), auch wenns schwer ist!
 
MFC- nein das wollt ich dann doch lieber nicht, und mit winapi und winmain da ein kleines Fenster zu malen dürfte ja nicht so codelastig sein.
Mach dir doch keine unnötige Arbeit.
Ich habe aber irgendwo noch Beispiele dazu (ohne MFC), die muss ich allerdings erstmal finden und poste sie nachher.
 
Oh plötzlich hab ichs selber gefunden. So jetzt habe ich den Dialog. Kann mir trotzdem jemand sagen wo ich Infos (biite nichts MSDN) dazu bekomme wie ich auf Textfelder und labels während dem programm zugreife? oder wenns nur eine oder 2 Zeilen sind kanns ja jemand hier her poste- wär echt nett:)

Dankeeeeeeeeeee :)
 
Du musst den Controls Windowsmessages schicken, und zwar entweder mit SendMessage() oder mit PostMessage(). Da kommst du aber um MSDN nicht herum, weil es einfach zu viele unterschiedliche Messages für die verschiedenen Fenstertypen gibt.
 
Ich krame schon den ganzen Tag im msdn und im internet rum bin aber noch zu keiner antwort gekommen und hoffe ihr könnt mir helfen....
Also: Ich habe jetzt ein schönes Dialogfenster mit einer Editbox und ein paar labels und buttons. Wie kann ich jetzt aus dieser Editbox was rauslesen und in einen String bringen? Und was sind controls?

Help me tutorials.de, your my only hope! ;)
 
Das Editcontrol, das du verwendest, ist zum Beispiel ein Control oder Kontrollelement. Alle Kontrollelemente sind auch Fenster (Windows), an die du Messages mit SendMessage() senden kannst. An den Text in der Editbox kommt du entweder mit GetWIndowText()
int GetWindowText(
HWND hWnd, // handle to window or control with text
LPTSTR lpString, // address of buffer for text
int nMaxCount // maximum number of characters to copy
);

Oder indem du dem Control ein WM_GETTEXT schickst, mit einem Pointer auf einen char-Buffer. Ich empfehle GetWindowText() - das erledigt das mit dem WM_GETTEXT für dich. Entsprechend gibt es auch ein SetWindowText() und ein WM_SETTEXT. Das WM steht übrigens für Windows Message. Es gibt noch wesentlich mehr WMs, die man schicken kann, und nicht alle von denen sind mit einer netten Funktion gewrappt.
 
Vieeeeeeeeeelen Dank aber ich habe einen einfacherern Weg gefunden, der aber nur für dialogboxen geht::
SetDlgItemText(hDlg, Ausgabe, "Riha");
GetDlgItemText(hDlg, Eingabe, str, sizeof(str));
trotzdem danke! :)
 
Zurück