AGB  ·  Datenschutz  ·  Impressum  







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

1 Pixel breiter Splitter funktioniert nicht

Ein Thema von Ace · begonnen am 20. Mai 2009 · letzter Beitrag vom 21. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Ace

Registriert seit: 30. Apr 2003
6 Beiträge
 
#1

1 Pixel breiter Splitter funktioniert nicht

  Alt 20. Mai 2009, 15:19
Hallo,
ich würde gerne einen Splitter in meine Form einbauen der nur ein Pixel breit ist. Das komische ist dann dass er zuerst funktioniert und dann irgendwann nicht mehr. Ich habe die vermutung dass es daran liegt wo sich das Fenster befindet da die Maus anscheint so ungenau ist und immer minnimal 2 Pixel weiter springt. Wenn dann der Splitter gerade genau auf dem Pixel zwischen den beiden Punkten "Springpunkten" ist habe ich halt Pech gehabt.
Jemand eine Idee wie man das umgehen könnte?
Aber bitte jetzt keine Antworten wie "mach den Splitter breiter, damit kann eh keiner arbeiten"
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 20. Mai 2009, 15:24
Mach den Splitter breiter, damit kann eh keiner arbeiten.








Mal ganz ehrlich, warum muss der unbedingt so dünn sein? Hat der Schlankheitswahn jetzt auch schon auf Computerprogramme übergegriffen? Ich könnte mir jedenfalls vorstellen, dass ein pixelgenaues treffen sehr, sehr schwer sein kann...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 20. Mai 2009, 15:27
ist der Splitter überhaupt noch an der korrekten Position oder evtl. aufgrund der dünnheit an die falsche Position geflogen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#4

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 20. Mai 2009, 19:01
Moin, Moin.
Abgesehen davon, dass ich einen 1 Pixel breiten Splitter auch für vermutlich nicht praktikabel halte: Du könntest im OnMouseDown() den Cursor exakt auf dem Splitter positionieren und danach mit ClipCursor() auf die Splitterfläche "kleben". Im MouseUp() wird das Ganze mit ClipCursor(nil) wieder aufgehoben. Das hat dann den Vorteil, dass der Cursor den Splitter nicht mehr "verlieren" kann.
Ralph
  Mit Zitat antworten Zitat
Ace

Registriert seit: 30. Apr 2003
6 Beiträge
 
#5

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 08:05
Zitat von Daniel G:
Mach den Splitter breiter, damit kann eh keiner arbeiten.
Was ja klar dass so ein Kommentar kommt. Obwohl ich extra noch was dazu geschrieben habe. Nennt mich Orakel von Delphi...
Das so etwas funktioniert beweist dieser Screenshot:

http://www.async.ece.utah.edu/iBioSi...ots/finder.png

Dort ist der Splitter 1 Pixel breit und es funktioniert wunderbar! Spreche da aus Selbsterfahrung. Falls jetzt jemand sagt "dann entwickel doch unter MacOS wenn das da so toll geht" dann plazt mir gleich was.
Ich wollte doch nur wissen ob jemand eine pfiffige Idee hat wie man sowas realisieren könnte. Aber Aussagen wie "Mach den Splitter breiter, damit kann eh keiner arbeiten." sind wirklich sowas von albern.


Zitat von Bernhard Geyer:
ist der Splitter überhaupt noch an der korrekten Position oder evtl. aufgrund der dünnheit an die falsche Position geflogen?
Ja er ist noch an der richtigen Position. Ich konnte ihn ja auch schon mal benutzen.


Zitat von taaktaak:
Moin, Moin.
Abgesehen davon, dass ich einen 1 Pixel breiten Splitter auch für vermutlich nicht praktikabel halte: Du könntest im OnMouseDown() den Cursor exakt auf dem Splitter positionieren und danach mit ClipCursor() auf die Splitterfläche "kleben". Im MouseUp() wird das Ganze mit ClipCursor(nil) wieder aufgehoben. Das hat dann den Vorteil, dass der Cursor den Splitter nicht mehr "verlieren" kann.
Hm, das werd ich mal ausprobieren. Keine schlechte Idee.


Inzwischen ist mir auch eine Idee gekommen: Ich mache einen 3 Pixelbreiten Splitter als Grafik. Das mittlere Pixel ist der Splitter, die Pixel rechts und links bekommen einfach die Farbe der Controls direkt neben dem Splitter. So hat man genug Fläche zum Greifen und es sieht aus als wär der Splitter 1 Pixel breit. Mal sehen wie man einen Splitter mit Grafik hinbekommt
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#6

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 08:27
Das soll funktionieren? Also rein vom Äußeren würde ich jedenfalls nie auf die Idee kommen, dass ich dort irgendwas verschieben kann.

//edit: Wenn ich an meinem eigenen Rechner arbeite, kann ich durchaus pixelgenau treffen. Aber sobald das irgendein anderer Rechner ist, geht das nicht mehr. Und ich glaube, dass dieses Problem recht weit verbreitet ist.
Jakob
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 08:38
Also mit wirklich 1 Pixel Breite ist das schon schwer zu treffen. Hier habe ich den senkrechten Splitter z.B. 3 Pixel breit:
http://www.sj-berlin.de/service/dp/s...ingsDialog.png
Und da lässt sich gerade das gut treffen.

Aber auch mit 1 Pixel Breite funktioniert alles wunderbar bei mir, Demoprogramm im Anhang.

Und wenn ich das so auf dem Mac genauer ausprobiere, dann glaube ich nicht, dass das wirklich nur ein Pixel ist. Die Optik ja, aber die hat ja mit der Breite des Splitters nichts zu tun.

Zitat von Jakob Ullmann:
Das soll funktionieren? Also rein vom Äußeren würde ich jedenfalls nie auf die Idee kommen, dass ich dort irgendwas verschieben kann.
Das ist schon so.
Miniaturansicht angehängter Grafiken
settingsdialog_937.png  
Angehängte Dateien
Dateityp: zip splitter_1px_width_demo_180.zip (214,8 KB, 6x aufgerufen)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Ace

Registriert seit: 30. Apr 2003
6 Beiträge
 
#8

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 09:21
Zitat von jaenicke:
Und wenn ich das so auf dem Mac genauer ausprobiere, dann glaube ich nicht, dass das wirklich nur ein Pixel ist. Die Optik ja, aber die hat ja mit der Breite des Splitters nichts zu tun.
Ja es stimmt. Es ist sozusagen eine Ooptische Täuschung Die Griff-Fläche ist 3-4 Pixel breit. Ich werde wirklich mal mit dem Grafik-Fake Trick versuchen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 09:24
Also bei mir im Screenshot habe ich nur die Ränder gesetzt, sonst gar nichts. Das sind die Standardkomponenten. Eigentlich reicht es doch Beveled auf False zu setzen, dann sieht man den Splitter selbst nicht und nur die Grafik der Ränder wie sie ansonsten da ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Ace

Registriert seit: 30. Apr 2003
6 Beiträge
 
#10

Re: 1 Pixel breiter Splitter funktioniert nicht

  Alt 21. Mai 2009, 09:37
Zitat von jaenicke:
Also bei mir im Screenshot habe ich nur die Ränder gesetzt, sonst gar nichts. Das sind die Standardkomponenten. Eigentlich reicht es doch Beveled auf False zu setzen, dann sieht man den Splitter selbst nicht und nur die Grafik der Ränder wie sie ansonsten da ist.
Ich habe mal dein Beispiel ausprobiert. Es ist aber irgendwie immer noch Fummelarbeit das Teil zu treffen. Habe jetzt mal meine Idee mit dem Bild umgesetzt. Funktioniert super. Beispiel hängt dran.
Angehängte Dateien
Dateityp: zip 1px-splitter_108.zip (163,0 KB, 4x aufgerufen)
  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 12:02 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