AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form setzt sich nicht wie angegeben

Ein Thema von EWeiss · begonnen am 13. Mär 2007 · letzter Beitrag vom 13. Mär 2007
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 11:01
Warum setzt sich meine Form nicht auf die von mir aus einer
anderen *.pas übergebenen position.

Ich möchte das sich diese auf die größe meines Viewport setzt.

Delphi-Quellcode:
procedure ReSizeGLScene(glsWidth : GLsizei; glsHeight: GLsizei);
begin
    If glsHeight = 0 Then // Prevent A Divide By Zero By
        glsHeight := 1; // Making Height Equal One

    glViewport(0, 0, glsWidth, glsHeight); // Reset The Current Viewport
    glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
    glLoadIdentity; // Reset The Projection Matrix

    gluPerspective(45, glsWidth / glsHeight, 0.1, 100);
    glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
    glLoadIdentity; // Reset The Modelview Matrix
    fWidth := glsWidth;
    fHeight := glsHeight;

    if not assigned(VisForm) then
      VisForm := TVisForm.Create(nil);

    VisForm.width := fWidth;
    VisForm.height := fHeight;
End;
Der Viewport nimmt die richtige größe an die Form aber nicht.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 11:09
ist in deiner Form eventuell etwas enthalten, welches den ert nachher (z.B. beim Anzeigen) ändern könnte?

Code im OnCreate, OnShow, OnActiate, OnResize ...

oder etwas in den Eigenschaften der Form:
wie Position <> poDesigned (welches z.B. die Position beim ersten Anzeigen nochmals ändert)
...



Ist das auch noch so, wenn du ReSizeGLScene nach dem Erstellen und Anzeigen der Form aufrufst?
$2B or not $2B
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 11:17
Zitat von himitsu:
ist in deiner Form eventuell etwas enthalten, welches den ert nachher (z.B. beim Anzeigen) ändern könnte?

Code im OnCreate, OnShow, OnActiate, OnResize ...

oder etwas in den Eigenschaften der Form:
wie Position <> poDesigned (welches z.B. die Position beim ersten Anzeigen nochmals ändert)
...



Ist das auch noch so, wenn du ReSizeGLScene nach dem Erstellen und Anzeigen der Form aufrufst?
Jo das ist ja mein problem!
Selbst wenn die Form schon sichtbar ist positioniert sie sich nicht neu.
Nur der Viewport wird geändert

Habs mit ClientWidth , Width versucht. Tut sich nichts.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 11:36
Hast du vielleicht die Größe begrenzt?
z.B.: VisForm.Constraints (im OI, oder anderswo)
$2B or not $2B
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 11:39
Zitat von himitsu:
Hast du vielleicht die Größe begrenzt?
z.B.: VisForm.Constraints (im OI, oder anderswo)
Nein ist ein ToolWindow mit resize eigenschaft.
Die Winproc ändert nur den Vieport also den bereich auf dem gezeichnet wird
innerhalb der form.

Resitzen tut sich die Form, selbst nach aufforderung, aber nicht.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 12:04
tja, nun gehn mir auch langsam die Ideen aus
$2B or not $2B
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 12:14
Hallo,

Du könntest es mal testweise probieren ob sich was mit der API-Funktion Sendmessage tut

SendMessage(deineform.handle,WM_SYSCOMMAND,SC_MAXIMIZE,0); kannst ja mal probieren ob sich das Fenster ,maximiert, wenn ja könntest du ja bei msdn nach der genauen sendmessage suchen um die Parameter für beliebeige größeneinstellung raus zu bekommen.

Gruß Matthias

[EDIT]

hab noch was gefunden. Vielleicht besser...
http://msdn.microsoft.com/library/de...twindowpos.asp
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

Re: Form setzt sich nicht wie angegeben

  Alt 13. Mär 2007, 13:41
Zitat von matashen:
Hallo,

Du könntest es mal testweise probieren ob sich was mit der API-Funktion Sendmessage tut

SendMessage(deineform.handle,WM_SYSCOMMAND,SC_MAXIMIZE,0); kannst ja mal probieren ob sich das Fenster ,maximiert, wenn ja könntest du ja bei msdn nach der genauen sendmessage suchen um die Parameter für beliebeige größeneinstellung raus zu bekommen.

Gruß Matthias

[EDIT]

hab noch was gefunden. Vielleicht besser...
http://msdn.microsoft.com/library/de...twindowpos.asp
Danke für die Infos und ratschläge.

Habe herausbekommen woran es liegt ..
Der Urheber war mein BassVis AddOn dieses hat immer die einstellungen ´von meinen Vis_Plugin
mißachtet weil eine Abfrage 'IPC_SETVISWND' im AddOn gefehlt hat.

jetzt läufts
Show pic .. mein neues OpenGl Plugin (nicht das beschwerden kommen) dann muss ich es direkt wieder löschen!


gruss Emil
Miniaturansicht angehängter Grafiken
s_153.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz