AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Größe von TWinControl-Komponenten beschränkt?
Thema durchsuchen
Ansicht
Themen-Optionen

Größe von TWinControl-Komponenten beschränkt?

Ein Thema von Zottel · begonnen am 14. Mai 2004 · letzter Beitrag vom 15. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Zottel
(Gast)

n/a Beiträge
 
#1

Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 11:28
HalliHallo

Ich weiss nicht mehr weiter. Vielleich könnt ihr mir ja helfen.
Es ist eine Herrausforderung an 2 Stellen in meinen Programmen aufgetreten:
In einem Planer für die Terminierung von Mitarbeitern ist in der Übersicht ein TADVStringGrid von TMS mit einer höhe von 1320 eingebaut.
Das ganze ist in einer ScrollBox. Aber einer bestimmten Höhe (scheint screen.height zu sein), wird das Grid nicht mehr neu gezeichnet. es ist einfach ein weißes Feld zu sehen. Der fehler tritt auch bei einem anderen grid auf.
Auf die Screen.height bin ich gekommen, weil bei mir der fehler bei einer auflösung von 1600*1200 nicht auftritt, während er bei einer 1280*1024 auflösung doch schon störend ist.
Das gleiche Problem tritt an einer anderen Stelle auf:
Wenn ich ein Panel länger machen will, als die bildschirmbreite, lässt es sich nicht weiter aufziehen.
Setzen kann ich das panel auf eine breite , die größer ist, als die bildschirmbreite. wenn ich dann aber versuche, das Panel per Mausclick@Runtime weiter aufzuziehen, schnuppert es zurück, oder geht nicht weiter.....

das ist die routine, die ich in MouseDown des Panels eingebunden habe:

Delphi-Quellcode:
procedure TForm1.MasterPanelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Var SicherungTop:Integer;
begin
  SicherungTop:=(Sender as TADVPanel).top;
  ReleaseCapture;
  (Sender as TADVPanel).Cursor:=crSizeWE;
  //TWinControl(Sender).Perform(WM_SysCommand,$F012,0); //verschieben
  //TWinControl(Sender).Perform(WM_SysCommand,$F001,0); //linke seite verändern
  TWinControl(Sender).Perform(WM_SysCommand,$F002,0); //rechte verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F003,0); //obere seite verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F004,0); //links oben verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F005,0); //rechts oben verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F006,0); //untere seite verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F007,0); //links unten verändern
  //TWinControl(Sender).Perform(WM_SysCommand,$F008,0); //rechts unten verändern
  (Sender as TADVPanel).Cursor:=crDefault;
end;
Wie kann ich die beschränkung aufheben? Größere Flachbildschirme für höhere Auflösungen sind abgelehnt worden
wie gesagt, ich weiss nicht mehr weiter....

danke schonmal im vorraus

[edit=sakura] [delphi]tags Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 13:01
Also, ich hab grad mal eine Scrollbox genommen, darein ein Panel gepackt, und im Create des Forms hab ich Panel.width auf 5000 gesetzt, Das Programm hab ich dann auf Vollbild gestretcht und die scrollbar in der scrollbox ist ungefähr ein 5tel der Sichtbaren fläche bei 1024... also scheints bei mir zu funktionieren.... Oder ich hab dein Problem missverstanden

Warum arbeitest du eigentlich mit Perform? Vielleicht liegt es ja daran weil bei dem eigentlichen Perform wenn man das mit der Maus macht das auch nicht größer geht weil die maus ja dann am bildschirmrand anschlägt
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#3

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 13:21
Hmmm... dann scheint das bei dir hinzuhauen. Das grid wird ab einer bestimmten höhe einfach nicht mehr neu gezeichnet.....
bei mir scheint das auch hinzuhauen, aber bei den Teamleiter-Rechnern nicht.... misteriös...... ok. danke dir jedenfalls für ausprobieren. Liegt dann vielleicht am grafikkartentreiber....... ich muss nochmal ein paar versuche starten......

zu dem Perform:
Wenn du eine bessere Lösung hättest, wäre ich echt dankbar.
Denn das war das einzige, was ich gefunden hatte, womit man den Benutzer die größe einer Komponente ändern lassen kann, so wie er will.
Aber du hast schon recht. Bei der mausführung würde er an den rand stossen.....

Ddanke erstmal
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 14:06
einfach
TWinControl(Sender).Width := 5000; Ich glaub ich hab dich falsch verstanden, denn die lösung wäre zu simpel und mit top machst dus ja bereits so
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#5

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 14:28
Ok. hat sich erledigt. hab ne routine gefunden, mit der man die groesse auch noch bessern ändern kann.
jezze ist nur noch das prob mit dem Grid... aber da werd ich auch noch ne möglichkeit finden ...


Vielen dank jedenfalls
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#6

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 18:52
Hmpf... das Grid und die Komponenten werden scheinbar nur bis zur Desktop-größe gepainted.
Es liegt also nicht an Treibern oder so.
Wenn ich das Grid die auflösung überschreitet, wird es nicht mehr gezeichnet.
Weiss einer zufällig, wie man das umgehen kann? Oder die größe des Bereiches ändern kann?

vielen dank schonmal
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#7

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 22:46
Moin moin Zottel

also normalerweise kann man mit Invalidate ein Zeichnen neu auslösen. Da du ber was mit StringGrid macht fällt mir dazu folgendes ein: Die sint aus einzelnen StrinListen zusammengebaut und das ist von der Speicherauslastung eher gruselig programmiert. Wenn man große Grid´s hat müßte man eingentlich mit Hash-Tables arbeiten. Als Fehlerquelle würde ich daher nach einer etwas an der Taktrenze arbeitenden Speichrbank oder einen lausigen Bildschirmtreiber ansehen. Probier Dein Programm mal auf mehren Rechnern aus. An ein reines Programmierproblem glaube ich da nicht.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 22:50
Moin!

Zitat von mschaefer:
also normalerweise kann man mit Invalidate ein Zeichnen neu auslösen.
Nicht direkt. Invalidate markiert den Bereich des Controls nur als "dreckig", so dass dieses beim nächsten Paint im Update-Bereich des Paints liegt. Das Paint selber wird erst mit einem UpdateWindow(Handle) ausgelöst, Invalidate merkt das nur vor.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#9

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 22:59
Hi Muetze1,

Excelente Beschreibung, so isses !

Danke // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#10

Re: Größe von TWinControl-Komponenten beschränkt?

  Alt 14. Mai 2004, 23:32
Haut aber scheinbar doch nicht hin.
Das Grid scheint ab da nicht mehr zu existieren. Ich werd einfach das Grid runterschmeissen und aufm Canvas malen.....
Das es ja scheinbar nochnichtmal hinhaut, Labels so zu Createn, das sie sich bei einem Grid mit Scrollbars beim scrollen mitbewegen, bleibt mir nix anderes übrig....

Danke jedenfalls.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:27 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