Deutsch
Includes

control: scrollControl, Scrollwindow, Scrollarea

 
- Seite 1 -


scrollWindow Control

Herunterladen
externer Download


Hinweis: Include veraltet, neuere ScrollControl-Funktion direkt im Präkompiler  [...]  enthalten.

1 kB
Hochgeladen:13.03.2010
Ladeanzahl465
Herunterladen
 
24.02.2008  
 



 
- Seite 4 -


Jörg Sellmeyer
Ich vermute mal, hinter Deinem sc.setup(...) versteckt sich so etwas wie SetWindowPos oder?


Ja, aber das ist schon deutlich mehr.

Jörg Sellmeyer
Das Ganze wird dann 10 Pixel nach rechts "neben" den Monitor geschoben.


Mal 10 nicht Plus - und das ist auch wichtig da Plus hier zu wenig ist bei Multimonitoren.

Jörg Sellmeyer
Wobei da ja auch reichen würde, es 10 Pixel neben das Hauptfenster zu verschieben.


Das Control kann 2 Haupteigenschaften haben: Als Scroll-Window und Scroll-Control. Fenster nach Hauptfenster+10 reicht nicht, Control nach Hauptfenster+10 reicht wegen dem Clipping.

Stefan M. Caillet
Klappt super.


Gern geschehen!
 
07.11.2008  
 




Jörg
Sellmeyer

Mal 10 nicht Plus


Natürlich Mal - wer lesen kann ist klar im Vorteil
Danke für die Erklärungen.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.11.2008  
 




Stefan
M.
Caillet
Habe ffolgendes bein Verstecken der MYAREA1 festgestellt:
Wenn ich nun ein Static oder was auch immer auf den Dialog lege und dann das fenster minimiere und wieder vergrössere, wird das Statich wieder von der MYAREA1 überdeckt uund die MYAREA1 ist wieder aktiv.
Dies ist dadurch zu verhindern, dass während die MYAEA1 verstekt ist, auch das Subclassing gestoppt wird! zum Glück reicht es, vor dem einblenden des Statics mit dem Befehl "SubClass MYDLG&, 0" Das Subclassing des Dialogfensters auszuschalten.
Wenn das Static geschlossen , und die MYAREA1 wieder angezeigt wird, muss einfach mit "SubClass MYDLG&, 1" das Subclassing wieder aktiviert.
Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
10.11.2008  
 



Man muss noch nicht einmal das SubClassing dafür abstellen, sondern nur die sc.subClass(meinControl... (per z.B. case) aus der subClassProc ausklammern bzw. garnicht erst "anrennen" wenn diese keine Funktion tun soll.
KompilierenMarkierenSeparierenalso im Prinzip lediglich ein bool iWannaThatmeinControlScrollAreaIsDoingSomeJob nötig.

Der Witz ist aber, dass es tatsächlich wohl performanter wäre, zusätzlich auch noch das SubClassing für meinControl abzustellen - also so, wie Stefan bereits angemerkt hat. In diesem Fall muss aber auch zusätzlich das Case genutzt werden sodass sc.subClass garnicht erst aufgerufen wird, wenn kein SubClassing für meinControl durchgeführt werden soll.
 
10.11.2008  
 




Stefan
M.
Caillet
Auf die Idee die Aufrufe in der SubClassProc ganz oder auch teilweise zu verhindern, bin ich auch gekommen. Da ich in meinem Programm für das Verstecken und Anzeigen der MYAREA1 zwei kleine Procs (ShowArea + HideArea) yerwende, ist es nicht nötig, noch extra ne Variable für die Steuerung der SubClassProc zu verwenden. Ich hab den Befehl "SubClass MYDLG&,n"
in die beiden Procs aufgenommen, sodass ich nicht bei jedem Screen, den ich auf diesem Dialogfeld nutzen will, beim Verstecken der MYAREA1 auch noch separat ans Ausschalten des Subclassings denken muss. Somit bleibt das Programmgerüst auch für spätere verwendung universeller einsetzbar.
Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
10.11.2008  
 




Stefan
M.
Caillet
Hallo iF,
wiedermal ich mit ner Frage:
Da %MouseX u. %MouseY auf dem Dialogfenster MYDLG& nicht Funktionieren, frage ich die MausPosition mit nachfolgendem Code ab. (Ich brauche die Koordinaten um sie an die GET_MonthCalHit Prozedur zu übermitteln.)
KompilierenMarkierenSeparieren
DEF ScreenToClient(2) ! "user32","ScreenToClient"
DEF GetCursorPos(1) !"USER32","GetCursorPos"
declare MouseX&,MouseY&

proc MausPos

    declare rect#
    Dim rect#,16
    GetCursorPos(rect#)
    ScreenToClient(mydlg&,rect#)
    MouseX&=Long(rect#,0)
    MouseY&=Long(rect#,4)
    Dispose rect#

Endproc


Nun leider funktionieren auch die Systemvariablen %MousePressed resp. %MouseKey nicht im
Dialogfenster, ebenso wird auch Waitinput bei einem Klick auf den Kalender (egal wo) nicht
verlassen.
Wie kann ich also zuverlässig abfragen, ob die linke Maustaste gedrückt wurde?
Der Kalender liegt übrigens direkt auf MYDLG&! Das Ganze muss auch dann Funktionieren, wenn das Subclassing des MYDLG& gerade abgeschaltet ist - also die MYAREA1 gerade versetckt ist!)
Danke
Gruss Stefan
 
Ich habe grosses Glück, weil ich Mitmenschen helfen darf.
Entwicklungsumgebung:
XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit
PC: P4/3GHz , 2GB RAM , 1700GB HD
Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD
20.11.2008  
 



Asynchon mit (GetAsyncKeyState(1) & $8000) für die Linke, und ...state(2) für die Rechte, probier aber erstmal mit getKeyState.

Tip: Die mouse.inc (die z.B. auch im Cards Paket beiliegt) hat eine Funktion getMousePos die a) global und b) für Fenster die Positionen korrekt ausgibt, einfach per Parameter das Handle angeben oder Parameter weglassen. Darin sind aber auch die Funktion lm_ und rm_ definiert für Linke und Rechte Maustastenabprüfung.

Aber im Grunde solltest Du die Message vom Control beziehen, ob darauf geklickt wurde - z.B. wm_lButtonDown, oder eine auf das Control angepasstere Nachricht, denn meist beinhalten diese Nachrichten auch die Clientposition des Klicks.
 
20.11.2008  
 




Jac
de
Lad
Hallo iF!

Im Zuge des Umbaus von Gamsav auf skalierbares Fenster habe ich festgestellt, dass die Scrollsbars des Scrollcontrols nach einem Aufruf von ?.Setup() nicht bzw. fehlerhaft angezeigt werden. Vielleicht kannst du da was machen.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
13.02.2009  
 



ScrollControl Update: [...]  - jetzt werden Scrollbarpfeile auch unter Windows Vista und 7 korrekt gezeichnet.
 
22.11.2009  
 



Update vom ScrollWindow-Control, Download oben, völlig neue "Technik", absolut flimmerfrei und unschlagbar einfach in der Anwendung.
KompilierenMarkierenSeparieren
Jedem Fenster und Dialog können nun mit einem Aufruf funktionierende Scrollbalken hinzugefügt werden, oder Scrollareas innerhalb von Fenstern erzeugt werden.
 
28.02.2010  
 



Bitte einmal diese Exe testen, ob das Scrollfenster wirklich auch unter allen Umständen immer perfekt funktioniert und die Scroller sich auch immer korrekt ansprechen lassen: [...] 

499 kB
Hochgeladen:01.03.2010
Ladeanzahl362
Herunterladen
 
01.03.2010  
 




ByteAttack
Funktioniert bei mir (Win7/64) einwandfrei.
 
Website:  [...] 
Facebook:  [...] 
01.03.2010  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

68.611 Betrachtungen

Unbenanntvor 0 min.
Matzbub vor 17 Tagen
Normann Strübli06.02.2023
Rc31.01.2022
Michael W.28.10.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie