|
You last visited: Today at 10:09
Advertisement
[VC++]Dialog Hintergrundfarbe ändern
Discussion on [VC++]Dialog Hintergrundfarbe ändern within the Coding Tutorials forum part of the General Coding category.
03/17/2009, 12:43
|
#1
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
[VC++]Dialog Hintergrundfarbe ändern
[VC++]Dialog Hintergrundfarbe ändern
Dies soll ein kleines Tutorial werden wie man unter Vistual C++ (MFC) die Hintergrundfarbe eines Dialoges ändert. Dies gibt auch auch die Grundlage alle Elemente in einem Dialog zu gestalten. Ich arbeite in diesem Tutorial mit Visual Studio 2005. Aber es sollte auch Problemlos mit einer neueren Version funktionieren. Mit älteren Versionen sprich Visual Studio 6 geht es auch so, nur dort müsst ihr es über den Klassenassistent machen.
#Inhalt:
[-]Dialog erstellen
[-]OnCtlColor hinzufügen
[-]Nachwort
[-]Dialog erstellen
Als erstes erstellen wir unseren Dialog als MFC Anwendung.
In unserem Fall nenne ich den Dialog ColorDialog.
Als Anwendungstyp nehmen wir Dialogfeldbasierend.
ActiveXSteuerelemente Deaktivieren wir, den Rest kann man so belassen.
Und somit haben wir nun einen Leeren Dialog.
[-]OnCtlColor hinzufügen
Wir gehen zunächst in die Ressourcenansicht und wählen den Hauptdialog aus.
Dann klicken wir auf den Hauptdialog und gehen in die Eigenschaften.
So in den Eigenschaften sind nun Verschiedene Filter. Es gibt Eigenschaften, Meldungen und Steuerelementereignisse. Wir gehen in die Meldungen

und sehen nun alle Meldungen. Wir suchen WM_CTLCOLOR und fügen es hinzu.
Nachdem wir das getan haben, springen wir automatisch in die Funktion.
PHP Code:
HBRUSH CColorDialogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Ändern Sie hier alle Attribute für den DC.
// TODO: Gib einen anderen Pinsel zurück, wenn der Standard nicht erwünscht ist. return hbr; }
Nun ändern wir
PHP Code:
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
in
PHP Code:
HBRUSH hbr = CreateSolidBrush(RGB(255, 0, 0));
Und nun haben wir einen Roten Dialog! Wenn ihr die Farbe ändern wollt müsst ihr nur den RGB Farb Code umändern. Außerdem sollte man noch
PHP Code:
pDC->SetBkMode(TRANSPARENT);
Hinzufügen. Damit die Hintergrundfarbe vom Text durchsichtig ist.
[-]Nachwort
Dieses Tutorial ist zwar nichts Weltbewegendes, aber bietet einem eine Grundlage um Dialoge zu verändern.
Einige Funktionen die noch nützlich sind :
PHP Code:
pDC->SetBkColor(RGB(255,0,0));
Damit kann man die Hintergrundfabre vom Text ändern. Aber falls man den Mode auf Transparent gestellt hat, sieht man das natürlich nicht.
PHP Code:
pDC->SetTextColor(RGB(0,255,0));
Damit kann man die Textfarbe ändern. Am besten schaut ihr euch die MSDN an, dort findet ihr noch einiges an nützlichen Funktionen!
Ich hoffe ich konnte euch das Leben mit MFC etwas erleichtern
|
|
|
03/17/2009, 12:52
|
#2
|
elite*gold: 0
Join Date: Apr 2006
Posts: 6,547
Received Thanks: 808
|
gute arbeit!
|
|
|
03/17/2009, 13:04
|
#3
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
|
Ist jetzt aber nicht VC++ Express oder? Das express sieht leicht anders aus..
edot: haste ja gepostet...
|
|
|
03/17/2009, 13:08
|
#4
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Quote:
Originally Posted by NBA
Ist jetzt aber nicht VC++ Express oder? Das express sieht leicht anders aus..
|
Quote:
|
Originally Posted by Adroxxx
Ich arbeite in diesem Tutorial mit Visual Studio 2005.
|
:P
Ja 2008 Express sieht leicht anders, aber wenn man bissl damit gearbeitet hat, weiß man ja wo die Meldungen sind usw.
|
|
|
03/17/2009, 13:09
|
#5
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
|
Habs bereits gesehen  Vom Prinzip her ist es doch eh das gleiche, nur das express wohl nichts kostet...
|
|
|
03/17/2009, 13:13
|
#6
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Express unterstützt glaub ich irgendwas nicht. Und MFC ist nicht standardmäßig eingebunden. Also war früher so, keine Ahnung ob die das jetzt geändert haben.
|
|
|
03/17/2009, 13:26
|
#7
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
|
Ich kann unter express keine MFC anwendungen machen...soll ich ma nen upload machen?
|
|
|
03/17/2009, 13:29
|
#8
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Quote:
Originally Posted by NBA
Ich kann unter express keine MFC anwendungen machen...soll ich ma nen upload machen?
|
....
Quote:
|
Originally Posted by Adroxxx
Express unterstützt glaub ich irgendwas nicht. Und MFC ist nicht standardmäßig eingebunden. Also war früher so, keine Ahnung ob die das jetzt geändert haben.
|
Wie gesagt ist wohl noch so, das Express kein MFC hat. Musste entweder MFC Trial laden oder eine gecrackte Fullversion.
|
|
|
03/17/2009, 13:34
|
#9
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
|
-.- Da bleib ich lieber bei meinen konsolenanwendungen:
-Einfach zu bedienen
-Man braucht keine Maus
-Einfacher zu coden (aus meiner sicht)
Nur wie bringt man es dazu, die console nicht zu schliessen...
und wieso bist du immer schneller als ich?
|
|
|
03/17/2009, 13:38
|
#10
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Quote:
Originally Posted by NBA
-.- Da bleib ich lieber bei meinen konsolenanwendungen:
|
Konsolenanwendungen unter Windwos ftl!
Quote:
Originally Posted by NBA
-Einfach zu bedienen
|
o.O Wenn du einen Bot schreibst, wo du mehrere Einstellmöglichkeiten hast, ist das ziemlich umständlich. Unter Windows gibts imo keine ncurses oder so um ein Menü zu machen. Wobei das imo auch umständlich ist.
Quote:
Originally Posted by NBA
-Man braucht keine Maus
|
Brauchst du bei Dialogen auch nicht. STRG+TAB & Enter FTW!
Quote:
Originally Posted by NBA
-Einfacher zu coden (aus meiner sicht)
|
MFC macht das meiste automatisch. Musst nur an der Funktionalität bissl was machen. Ist IMO um einiges einfacher als die GUI mit winapi aufzubauen!
wieso schneller?
|
|
|
03/17/2009, 13:51
|
#11
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,874
Received Thanks: 213
|
Weil man gar kein GUI braucht, sondern es ganz consolenbasiert machen kann!
|
|
|
03/17/2009, 13:56
|
#12
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Du kannst aber ein Komplexes Programm nicht in der Konsole machen. Benutzerfreundlichkeit ftw! Gut wenn du einen Bot machst, wo man nix einstellen kann oder so, geht das noch. Oder einfache Skripte hast. Aber sobald der Benutzer eingaben machen muss, zwischen verschiedenen Optionen auswählen kann usw. ist Konsole FAIL!
Ich kann dir später mal ne PM mit der GUI von meinem Bot schicken, dann wirste sehen das da eine Konsolenanwendung fehl am Platz wäre. Ganz einfach weil es viel viel zu unübersichtlich wäre.
|
|
|
03/18/2009, 08:46
|
#13
|
elite*gold: 105
Join Date: Mar 2007
Posts: 5,073
Received Thanks: 558
|
1.) Sehr nettes Tutorial , danke.
2.) Sobald das Programm nur mehr als 5-6 Benutzereingaben erfordert und man etwas Komfort erreichen möchte, ist eine GUI definitiv vorzuziehen. Bei kleinen Programmen mit denen man schnell etwas testen möchte ist das natürlich sinnfrei.
Mfg
Blackfog
|
|
|
05/24/2009, 16:39
|
#14
|
elite*gold: 0
Join Date: May 2009
Posts: 1
Received Thanks: 0
|
Adroxxx where is the download link??? i cannot find it
|
|
|
05/24/2009, 19:49
|
#15
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Download link for what? o.O
|
|
|
 |
Similar Threads
|
WERDERNATOR - hintergrundfarbe ändern ?!?
07/17/2010 - Metin2 Private Server - 0 Replies
Hallo !
Ich verwende die Vorlage von
WERDERNATOR Version 2.0
für so eine p server page.... ich habe schon ALLES gemacht nur
ich finde das so irgendwie unlesbar wenn da immer den textfeldenrn also startseite etc.. wenn das so gelb ist und die schrift weiss...
kann ich irgend wie machen dass die schrift schwarz bzw. der hintergrund schwarz ist???
am liebsten wäre mir dass bei startseite die schrift schwarz ist NUR bei startseite oder huntergrund schwarz
|
Cant Add NPC.Dialog
06/21/2010 - CO2 Private Server - 12 Replies
Alright everytime im adding a npc dialog i always get the do not talk anything useful yet. Well looking at guides they tell them to put npc.txt file or w.e, add the npc code there. I have the npc and the dialog goes to that npc. So far 5 codes havnt worked ,dunno what im doing wrong,
This is a example of how the npc dialog starts off
|
NPC Dialog
06/14/2010 - Flyff Private Server - 3 Replies
Hallo ElitePvPers,
Ich wuerde gerne wissen wie ich den Dialog von NPC's aendern kann. Z.b weiss ich das wenn ich den Dialog von Isruel aendern will, muss ich eine Datei oeffnen die "MaFl_Isruel.txt".
Ich finde dieses .txt leider nirgendwo und frage euch nun, koennt ihr mir helfen mit dem problem?
Bitee bitee bitee!! XD
|
NPC Dialog
12/12/2009 - CO2 Private Server - 6 Replies
Can anyone tell me what its wrong with this for some reason it is not working =\
This is for 5165 FTW!
#region TOP TRO PK TOURNEY
case 2772:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hey there i hold every Class PK Tournament for Trojans, Warriors, Ninjas, Taoists And Archers, So Tell me your Class so i can...
|
Help me please i need Dialog.ini
08/18/2008 - Conquer Online 2 - 0 Replies
Hi all, i have a private server CO 2 and i want the file: Dialog.ini of NPCsStuff
Because some npc. Ej: ArcherGod, he change your class, and all the npc that changes the class to you, nobody of those can speak.
Please say me some download of Dialog.ini or say me the information of they.
-edit-
I want the npc to learn skills please
|
All times are GMT +1. The time now is 10:09.
|
|