Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » ein Koordinatensystem pro Region

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.04.2004, 20:58 Uhr
~Alexander
Gast


Hi,

bei der WINAPI habe ich bisher immer gelesen, dass man nur ein Koordinatensystem gleichzeitig haben kann, welches sich entweder auf den Anwendungsbereich, das ganze Fenster oder sogar den ganzen Bildschirm bezieht.
Was ich gerne hätte wäre, dass ich eine Region definiere, diese in den Gerätekontext einsetze und für diese Region ein eigenes Koordinatensystem gilt. Bei MM_TEXT sollte das dann bedeuten, dass 0,0 die linke obere Ecke der Region ist.
Wenn ich eine zweite Region irgendwo anders definiere, würde ich für diese wieder ein Koordinatensystem haben, welches sich nur auf diese Region bezieht.
Geht so etwas irgendwie?
Und noch eine Frage: Kann man es irgendwie erreichen, dass man auch Gleitkommazeilen als Koordinaten angeben kann, oder muss man sich wirklich immer mit Ganzzahlen begnügen?

mfg

Alexander
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.04.2004, 11:40 Uhr
theosoft



zur 2. Frage:
Man kann nur ganze Pixel auf dem Schirm ansteuern. Deshalb Integer!
Man muss halt seine reellen Zahlen für die Darstellung im Koordinatensystem konvertieren.

zum Beispiel so:
maximaler X-Wert in Pixel = 450
realer max-Wert in X = 3000
Du willst den reelle Wert 1567.33 in X darstellen!

Es gitl folgende Proportion
x : 1567.33 = 450 : 3000
das ergibt für X
x = 450 * 1567.33 / 3000 = 235.0995

um das darzustellen, lässt du gerundete 235 Pixel leuchten.

und schöne Ostern, theo
--
ifS (immer fröhliches Schaffen)
theosoft
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.04.2004, 18:35 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Zur 1. Frage:
Du musst doch allen GDI Funktionen ein Handle auf den Device Context übergeben, auch denen mit denen du das Koordinatensystem festlegst. Somit sollte es also kein Problem sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.04.2004, 22:12 Uhr
~Alexander
Gast


zur 2. Frage:
Ok, danke, damit wäre das erledigt.

zur 1. Frage:
ja, natürlich muss ich jeder GDI-Funktion ein Handle auf den Gerätekontext übergeben. Nur mein Gerätekontext bezieht sich immer auf den Anwendungsbereich des Fensters.
Wie kann ich einen Gerätekontext erstellen, der sich nur auf eine Region bezieht?

Vielen Dank schonmal

Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.04.2004, 22:32 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Du könntest in deinem Fenster weitere Fenster erstellen, denen du die selbe Farbe wie dem parent Fenster gibst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.04.2004, 00:15 Uhr
~Alexander
Gast


Das klingt interessant. Das untergeordnete Fenster dürfte dann natürlich auch keine Titelleiste, Menü, ... besitzen. Sondern lediglich eine kleine weiße Fläche darstellen.
Kannst du mir bitte ein kleines Beispiel dazu machen, wo ein Fenster ein untergeordnetes Fenster enthält. Das wäre echt super.

Vielen Dank schonmal

Alex

P.S.:
Ich finde Monkey Island auch voll cool. Bis auf den vierten Teil habe ich alle ausführlich gespielt. Den vierten Teil habe ich bereits gekauft. Habe ihn bisher aber leider erst bis zur Hälfte gespielt. Da ich immer alles ohne Komplettlösung schaffen will, werde ich wohl noch etwas brauchen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.04.2004, 10:49 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



C++:
HWND hRegion1 = CreateWindow("STATIC",0,WS_CHILD,0,0,60,40,
                          hMainWindow,0,hInstance,0);


Wäre eine Möglichkeit, da müsstest du evtl. halt noch die Farbe anpassen.
Oder du erstellst eine neue WNDCLASS die du dafür nuzt.

P.S.:
hehe

Dieser Post wurde am 12.04.2004 um 10:50 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.04.2004, 12:27 Uhr
RedEagle



@Guybrush Threepwood : Mal ne kl-frage am Rande: 0 == NULL ???
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.04.2004, 12:39 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Ja ist das Selbe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: