Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

1

04.12.2003, 10:33

Style von Windowsapplikationen verändern

Hi!
Ich habe ein kleines Problem. Ich möchte mainer MFC-Applikation einen neuen Look verpassen. Das heißt, ich möchte, dass meine Anwenung statt dem "Windowsstandardgrau" eine Farbe verwendet, die ich selbst bestimmen kann. Hat jemand vielleicht eine Ahnung, wie man das machen kann? Bin für jeden Ratschlag dankbar!
DANKE

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

04.12.2003, 11:53

hi, du hast doch eine Funktion angegeben (bei deiner Fensterklasse), diese könnte jetzt so aussehen

Quellcode

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
LRESULT WINAPI WindowProc(HWND hWindow, unsigned int uiMsg, WPARAM WParam, LPARAM LParam)  {

    PAINTSTRUCT Paint;
    switch(uiMsg)
    {
    case WM_CREATE:
        break;
    case WM_PAINT:
    // Das Fenster mit Schwarz füllen
        BeginPaint(hWindow, &Paint);
        FillRect(Paint.hdc, &Paint.rcPaint, (HBRUSH)(GetStockObject(BLACK_BRUSH)));
        EndPaint(hWindow, &Paint);
    break;
    case WM_CLOSE:
        DestroyWindow(hWindow);

        PostQuitMessage(0);
        break;

    default:
        return DefWindowProc(hWindow, uiMsg, WParam, LParam);
    }

    return TRUE;
}


Bei WM_PAINT kannst du jetztt "das Fenster streichen", hier das ganz mit einer Schwarzen Farbe, ich hoffe ich konnte dir helfen

Andere Farben sind: LTGRAY_BRUSH ist das standart Grau, BLACK_BRUSH ist schwarz, mehr kenn ich aber auch nicht :)

Ich hoffe ich konnte dir helfen!

In Deinem Beitrag befinden sich noch Fehler.
Bitte bearbeite die rot markierten Stellen und lösche diesen Text.

unsigned int

Alter Hase

Beiträge: 512

Wohnort: Bonn

Beruf: Schüler; C#-Programmierer in einer kleinen Firma

  • Private Nachricht senden

3

04.12.2003, 14:41

es gibt dann halt noch YELLOW, RED, BLUE, GREEN und so, aber mit Präfixen, welche ich vergessen habe ;)

frag mal google
"Tu es. Oder tu es nicht. Es gibt kein Versuchen."
StarWars

www.tron2d.de.vu

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

4

10.12.2003, 08:01

8)
Ich habe deinen Vorschlag probiert und habe deinen Code in OnPait eingefügt. Hat sich aber nichts getan. Ausserdem kommt mir vor, dass dein Code sowieso nicht dass macht, was ich wollte.
Liegt vielleicht daran, dass ich mich eine wenig ungenau ausgedrückt habe. Ich glaube dein Code würde einfach nur ein Fenster schawarz anmalen. Ich will aber den Rahmen einer Anwendung verändern. Sozusagen den Teil, wo die Toolbar und das Menü liegt (CMainFrm).

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

10.12.2003, 13:54

ahso, nein das geht nicht so, aber du kannst das mit

MoveTo(HDC, x, y);

und LineTo(HDC, x, y);

Koordinatenstsytem legt man mit SetViewportOrg(HDC, x, y);
fest

(ich hab das allerding aus ner sehr alten Windows-Programmier-Anleitung (Win 3.11) :), ich weiss nicht, ob dir das was bringt und obs noch geht, wie man allerdings Scrollbars umfärbt u.s.w. weiss ich nicht, sry :roll:

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

6

10.12.2003, 16:50

Ich dachte eher, Rahmen usw. sind so Standard-Elemente von Windows, die der Programmierer gar nicht verändern KANN, da sie ja von Windows der Applikation bereitgestellt werden.

Die Styles sind ja im Betriebssystem änderbar (so XP-Stil, Classic-Styl, etc.)

Also glaube ich nicht, dass man die verändern kann, ohne der Anwendung völlig eigene Fenster-Stile mitzugeben, die nichts mit Windows zu tun haben...

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

7

10.12.2003, 21:19

... aber es gibt auch einige Anwenungen, wo dies nicht zutrifft, kann aber sein, das dort Schaltflächen entweder mit Delphi erstellt, oder gezeichnet wurden

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

8

12.12.2003, 18:17

Stimmt, die gibt es!

(Aber Delphie ist doch viel zu niveaulos... :) )

afogel

Frischling

Beiträge: 60

Wohnort: München

Beruf: Schüler

  • Private Nachricht senden

9

26.01.2004, 18:48

Dumme Frage...wie wird des bei Delphi gemacht? :help:

mfg afogel
Das Anyon-Projekt
http://www.anyon.de/

Die freie Musikenzyklopädie
http://www.musikerwiki.de/

"My Software never has bugs. It just developes random features..."

10

26.01.2004, 20:05

Kenne mich mit MFC nicht so aus. Aber hat die Symboleiste nicht einen Device Context Handle (HDC)? Ich meine schon. Schlieslich muessen die Symbole ja auch gezeichnet werden. Wenn du den hast kannst du die Symboleiste gestallten wie du willst. Hab z.B. mal gesehen das der IE ein Bild als hintergrund fuer die Symboleiste hat. Das selbe gilt auch fuer alles andere.

Schliesslich malt Windows die Fenster auch nur ueber den DC.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige