Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Verhältnis

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 < [ 2 ]
000
02.11.2003, 15:16 Uhr
Anfänger00



Hallo,
ich habe ein einfaches windows Programm das ein Rechteck ausgibt.
Das Rechteck wird mit LineTo() gemalt,wobei ich natürlich auch Rectangle()
verwenden könnte.
Ich will nur das das Verhältnis eingehalten wird also das Größenverhältnis,bei Größenänderungen und das aus einem quadrat nicht einfach Rechteck werden kann.
Ich habe hierfür folgenden Anzatz:

C++:
MoveToEx(hdc,4*cxClient/12,cyClient*4/12,NULL);

LineTo(hdc,cxClient*8/12,cyClient*4/12);
LineTo(hdc,cxClient*8/12,cyClient*8/12);
LineTo(hdc,cxClient*4/12,cyClient*8/12);
LineTo(hdc,cxClient*4/12,cyClient*4/12);

//cxClient,bzw cyClient entsprechen der aktuellen Größe in Pixeln.


Wisst ihr wie man sowas macht?

Dieser Post wurde am 02.11.2003 um 15:19 Uhr von Anfänger00 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.11.2003, 14:11 Uhr
Anfänger00



Hab ich mich soo unklar ausgedrückt,was ich eigentlich möchte,oder mag mir bloß keiner helfen?
Immerhin:
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.11.2003, 14:47 Uhr
virtual
Sexiest Bit alive
(Operator)


Hi,

Du solltest nicht WindowsProgrammierer, sondern UNIX Programmierer fragen. Solche wie mich, zB

Ich denke, du suchst Die Funktion GetDeviceCaps, welche Du auf deinen DeviceContext losläßt. Die gibt dir dann eine Struktur zurück, welche das genau ist, weiß ich nicht (ich bin ja UNIXer), da sollte es dann Einträge names ASPECTX, ASPECTXY, ASPECTY geben, die notwendigen Koeffizienten enthalten, entweder direkt oder indirekt.

Aber da frag mal besser jemanden, der sich mit Windows wirklich auskennt, aber so habe ich es etwa in meiner Kindheit immer gemacht
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.11.2003, 14:48 Uhr
virtual
Sexiest Bit alive
(Operator)


Hey, ich seh grade: Du hast Die frage erst gestern gestellt, das kann halt dauern, mit sinnvollen Antworten...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.11.2003, 18:04 Uhr
Anfänger00



Ne das Problem besteht nicht,die Bildschirmgröße wird in cxClient und cyClient bei jedem Aufruf von WM_SIZE schon richtig gespeichert.
Falls es dich interessiert:

C++:
case WM_SIZE :
{
//lParam ist die Größe des Anwendungsbereiches
cxClient = LOWORD(lParam); //lParam ist ein 32-bit Wert und LOWORD
//ist sozusagen der 16-bit Teil davon
xyClient = HIWORD(lParam); //HIWORD ist dann der 32-bit Teil
//also ich denke mal das es zwei 16-bit Werte in einem zusammen sind
return 0;
}



Ich bin nur leider kein Mathematiker und weiß halt nicht wie ich das machen soll.

Dieser Post wurde am 03.11.2003 um 18:11 Uhr von Anfänger00 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.11.2003, 19:23 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also ich peil dein problem leider gar nicht aber ich bin ja auch nur windoofer.

Willst du einfach nur wissen wie man ein rechteck vergrössert und verkleinert, so das die Verhältnisse der Seiten zueinander konstant bleiben?
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 03.11.2003 um 19:23 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.11.2003, 19:44 Uhr
Anfänger00



ja,ja genau,das meine ich. ich bin halt wircklich zu blöd dafür.
Also ich möchte z.B ein Quadrat zeichen das bei jeder Größenänderung auch ein Quadrat bleibt.
Bei meinem Programm nimmt das Rechteck immer die Form des Fensters an.

Dieser Post wurde am 03.11.2003 um 19:44 Uhr von Anfänger00 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.11.2003, 19:49 Uhr
0xdeadbeef
Gott
(Operator)


Das ist schon richtig so, wie du's gemacht hast. Jedenfalls, wenn ich keinen fiesen Knick in der Optik habe.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.11.2003, 20:02 Uhr
Anfänger00



Jetzt ändere dochmal die Größe (im laufenden Programm) und zwar so,
das das (windows-)Fenster rechteckig ist.
(Also das eben nicht alle Seiten gleich lang sind)

C++:

----------------------------
|                          |
|                          | //Rechteck
|                          |
----------------------------

---------
|       |
|       |  // (ungefähr) das gewünschte Quadrat  
|       |
---------


So weißt du jetzt was ich meine?

Dieser Post wurde am 03.11.2003 um 20:07 Uhr von Anfänger00 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
04.11.2003, 16:36 Uhr
~Markus
Gast


Ok mal noch ne kurze frage soll das seitenverhältnis eingehalten werden wenn sich die fenstergröße ändert. Oder bleibt das Quadrat immer in der selben größe unabhängig von der fenster größe und du willst manuel die größe verändern?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: