2010-11-26 2 views
1

Ich bin vor kurzem Bearbeitung eines Open-Source-Projekts in Visual C++ 2010, ich weiß nicht viel über VC++, (ich habe nur 5 Tage Erfahrung in C++), mit meinem kleinen Wissen, dass ich einige ändern Benutzeroberfläche des Projektsändern Symbol eines Dialogs

es gibt nur ein Symbol in meinem Projekt, die apps zeigt das Hauptsymbol als Symbol, gleichzeitig möchte ich dieses Symbol auch auf den Titel eines Dialogs setzen (der Dialog wird angezeigt werden, wenn eine Schaltfläche im Hauptformular angeklickt wird),

der Dialog ist bereits in den Ressourcen/Dialogen, aber ich möchte das Symbol davon ändern;

+1

Wenn Sie wirklich nur 5 Tage Erfahrung in C++ haben, [nehmen Sie bitte ein gutes C++ Buch] (http://stackoverflow.com/ Fragen/388242/the-definitive-c-Buch-Führer-und-Liste) und lesen Sie es durch. Erlernen Sie die Prinzipien und die Theorie und wenden Sie sie dann an, indem Sie eigene Projekte ausprobieren. Ich will nicht beleidigend oder so etwas sein, aber bevor Sie ein Open-Source-C++ - Projekt bearbeiten, lernen Sie zunächst C++ kennen. –

+0

Dann ist das Bearbeiten eines vorhandenen Open-Source-Projekts nicht der richtige Weg. Es ist in Ordnung, den Quellcode zu lesen und zu sehen, wie es gemacht wird, aber Sie sollten zuerst versuchen, Ihre eigenen Anwendungen zu erstellen und Ihre eigenen persönlichen Projekte zu starten. Wenn Sie sich dann wohl fühlen, können Sie größere Projekte übernehmen. Fangen Sie zuerst klein an. –

+0

@In silico ja du ein korrekt, aber ich bin in einem Prozess der Entwicklung Projekt hauptsächlich mit Delphi, aber das ist ein Teil, ich muss kleine Änderungen in VC++ App tun – VibeeshanRC

Antwort

3

Sie müssen das Dialogverfahren des Dialogs finden Sie interessiert sind, und in den WM_INITDIALOG Message-Handler (Sie müssen es hinzufügen, wenn es nicht bereits vorhanden ist) WM_SETICON verwenden das Symbol zu setzen:

// hIcon is your icon handle 
SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); 
SendMessage(hDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon); 
+0

danke sehr, ich habe es – VibeeshanRC

0

Sie können auch nach LoadIcon suchen, wenn es ein MFC ist (CDialog zum Beispiel)