Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 10:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VC++]Dialog Hintergrundfarbe ändern

Discussion on [VC++]Dialog Hintergrundfarbe ändern within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1

 
Adroxxx's Avatar
 
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(CDCpDCCWndpWndUINT nCtlColor)
{
    
HBRUSH hbr CDialog::OnCtlColor(pDCpWndnCtlColor);

    
// 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(pDCpWndnCtlColor); 
in
PHP Code:
HBRUSH hbr CreateSolidBrush(RGB(25500)); 
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
Adroxxx is offline  
Thanks
7 Users
Old 03/17/2009, 12:52   #2
 
FreaKzzz's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,547
Received Thanks: 808
gute arbeit!
FreaKzzz is offline  
Old 03/17/2009, 13:04   #3
 
NBA's Avatar
 
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...
NBA is offline  
Old 03/17/2009, 13:08   #4

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Quote:
Originally Posted by NBA View Post
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.
Adroxxx is offline  
Old 03/17/2009, 13:09   #5
 
NBA's Avatar
 
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...
NBA is offline  
Old 03/17/2009, 13:13   #6

 
Adroxxx's Avatar
 
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.
Adroxxx is offline  
Old 03/17/2009, 13:26   #7
 
NBA's Avatar
 
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?
NBA is offline  
Old 03/17/2009, 13:29   #8

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Quote:
Originally Posted by NBA View Post
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.
Adroxxx is offline  
Old 03/17/2009, 13:34   #9
 
NBA's Avatar
 
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?
NBA is offline  
Old 03/17/2009, 13:38   #10

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Quote:
Originally Posted by NBA View Post
-.- Da bleib ich lieber bei meinen konsolenanwendungen:
Konsolenanwendungen unter Windwos ftl!
Quote:
Originally Posted by NBA View Post
-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 View Post
-Man braucht keine Maus
Brauchst du bei Dialogen auch nicht. STRG+TAB & Enter FTW!
Quote:
Originally Posted by NBA View Post
-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?
Adroxxx is offline  
Old 03/17/2009, 13:51   #11
 
NBA's Avatar
 
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!
NBA is offline  
Old 03/17/2009, 13:56   #12

 
Adroxxx's Avatar
 
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.
Adroxxx is offline  
Old 03/18/2009, 08:46   #13
 
BlackFog's Avatar
 
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
BlackFog is offline  
Thanks
1 User
Old 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
daniel_5592 is offline  
Old 05/24/2009, 19:49   #15

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
Download link for what? o.O
Adroxxx is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.