Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 128
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 186
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 69, Antworten: 6
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09.09.2009, 19:23   #1 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard Layers für Zeichnungselemente?

Ich bin ganz neidisch auf Systeme wie GeoGebra, wo man Linien zeichnen kann, die Enden mit der Maus anfassen und wegziehen. Ganz grün werde ich vor Neid, wenn das auch noch mit Highlighting per Mouseover funktioniert.
Bitte hat jemand Erfahrung mit Profan-Hauptfenstern und Layern?
Wie geht man das am besten an?
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 09.09.2009, 19:33   #2 (Direktlink)
iF_
Weiß worum´s geht
 
Benutzerbild von iF_
 
Registriert seit: 08.02.2009
Ort: Berlin
Beiträge: 226
Standard

Ich weiss nicht, was Du mit "Layern" meinst.

Geht Deine Suche vlt. in Richtung http://dl.xprofan.com/?4942 bzw. http://dl.xprofan.com/?701 oder eher http://dl.xprofan.com/?3272 ?
__________________
Programmieren für Anfänger.
iF_ ist offline   Mit Zitat antworten
Alt 09.09.2009, 20:36   #3 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Vielen Dank, iF, ist aber alles viel zu Hightech für mich: Ich will eine Trennlinie in ein Hauptfenster zeichnen (eine Art Leselineal), die Enden packen und das Teil verschieben können, ohne daß das Ding auf seinem Weg andere Grafikelemente ruiniert. Da es innerhalb des Textfensters bleiben soll, fällt ein transparentes separates Fenster ohne Kopf und Rand aus.

Dachte daher, das geht mit Ebenen (engl. "Layer"), ähnlich wie im Internet-Browser, siehe Layer-Befehl. Wenn der IE das nämlich kann, dann sind in Windows doch bestimmt Funktionalitäten dazu vorbereitet - Aber denkste, nix gefunden. Photoshop verwendet jedenfalls Layer, AutoCad bis zu 1000 etc.

Jedenfalls danke für die Mühe!

P.S.: Wenn ich in die Nähe einer Linie komme, und die wird verstärkt dargestellt oder umgefärbt: Läuft da die ganze Zeit eine Schleife, die für die Linie testet, ob zufälig ein Mauscursor in der Nähe ist? Isjanding...
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 09.09.2009, 20:46   #4 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Eine simple, aber sehr flexible Methode ist sicher, die API DrawFocusRect zu benutzen, wie es das System auch macht.
Habe leider keinen Code parat.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 09.09.2009, 21:22   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Hab mal einen Anfang gemacht. Du kannst es ja nach deinen Wünschen erweitern.
Soweit ich weiss, kennt Windows aber auch echte markierte Objekte.

Code:
'
' © Frank Abbing
' für http://www.paules-pc-forum.de/forum/xprofan/
'
Def DrawFocusRect(2) !"user32","DrawFocusRect"
Def GetCursorPos(1) !"user32","GetCursorPos"
Def ScreenToClient(2) !"user32","ScreenToClient"

Declare x&,y&,rect#,z&
Dim rect#,16
Cls
UserMessages $200
While 1
WaitInput
Case %key=2:Break
If IsKey(1)
DrawFocusRect(%hdc,rect#)
GetCursorPos(rect#)
ScreenToClient(%hwnd,rect#)
Long rect#,8=Long(rect#,0),Long(rect#,4)
Long rect#,0=x&,y&
If Long(rect#,0)>Long(rect#,8)
z&=Long(rect#,8)
Long rect#,8=Long(rect#,0)
Long rect#,0=z&
EndIf
If Long(rect#,4)>Long(rect#,12)
z&=Long(rect#,12)
Long rect#,12=Long(rect#,4)
Long rect#,4=z&
EndIf
DrawFocusRect(%hdc,rect#)
Else
GetCursorPos(rect#)
ScreenToClient(%hwnd,rect#)
x&=Long(rect#,0)
y&=Long(rect#,4)
Long rect#,0=0,0,0,0
EndIf
Endwhile
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 09.09.2009, 21:47   #6 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Erzeugt was Mondrian-artiges mit statischem Ameisen-Rand.
@Frank: Bitte was bewirkt ScreenToClient(%hwnd,rect#)?
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 09.09.2009, 22:05   #7 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
Bitte was bewirkt ScreenToClient
Das bewirkt, dass Screenkoordinaten (ganzer Bildschirm) umgerechnet werden zu Fensterkoordinaten. GetCursPos() ermittelt die globale Mausposition, aber wir benötigen die Position innerhalb unseres Fenster, und darin oben links soll ja Position 0,0 liegen.
Die Usermessage sorgt dafür, dass unser WaitInput bei jeder Mausbewegung unterbrochen wird. Allerdings legt es auch %mousex und %mousey lahm. Darum verwende ich GetCursorPos, was global arbeitet. Das gleiche ich mit ScreenToClient aus.

Zitat:
Erzeugt was Mondrian-artiges mit statischem Ameisen-Rand.
Malt XOR-Linien. Leg mal ein Hintergrundbild auf das Fenster.
Du kannst zum Zeichnen auch FrameRect() mit einem beliebigen Brush benutzen.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von Frabbing (09.09.2009 um 22:11 Uhr)
Frabbing ist offline   Mit Zitat antworten
Alt 09.09.2009, 22:10   #8 (Direktlink)
iF_
Weiß worum´s geht
 
Benutzerbild von iF_
 
Registriert seit: 08.02.2009
Ort: Berlin
Beiträge: 226
Standard

@Peter: Ah, das meinst Du.

Hierzu dann vlt. auch interessant: ProLayout.dll - reboo.com
__________________
Programmieren für Anfänger.
iF_ ist offline   Mit Zitat antworten
Alt 09.09.2009, 22:38   #9 (Direktlink)
iF_
Weiß worum´s geht
 
Benutzerbild von iF_
 
Registriert seit: 08.02.2009
Ort: Berlin
Beiträge: 226
Standard

Zitat:
Zitat von p. specht Beitrag anzeigen
P.S.: Wenn ich in die Nähe einer Linie komme, und die wird verstärkt dargestellt oder umgefärbt: Läuft da die ganze Zeit eine Schleife, die für die Linie testet, ob zufälig ein Mauscursor in der Nähe ist? Isjanding...
Hängt von ab, ob Du mit Linie ein Control meinst welches (eh) wm_mouseMove empfangen könnte oder eine Zeichnung, bei der man wiederum einfach nur wm_mouseMove vom Parent nutzen könnte um per Mausposition in eine "Bitmaske" zu schauen, ob dort ein Stück Linie liegt. ^^
__________________
Programmieren für Anfänger.
iF_ ist offline   Mit Zitat antworten
Alt 09.09.2009, 22:47   #10 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
P.S.: Wenn ich in die Nähe einer Linie komme, und die wird verstärkt dargestellt oder umgefärbt: Läuft da die ganze Zeit eine Schleife, die für die Linie testet, ob zufälig ein Mauscursor in der Nähe ist? Isjanding...
So wie mein kleiner Code aufgebaut ist, wirst du nur eine Erkennung starten, wenn die Maus bewegt wurde.
Ich würde jede Ecke, bzw. Linienkoordinate in einer Tabelle listen. Du vergleichst dann, welche Ecke in der Tabelle dem Mauscursor am nächsten ist. Wenn die dichteste Ecke ermittelt ist, schaust du, ob dir die Distanz nah genug ist.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 09.09.2009, 23:15   #11 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Verstehe... sowas wie (x_element-x_mouse)²+(y_element-y_mouse)² <= d²
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 10.09.2009, 06:41   #12 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Abs(), aber nicht unbedingt zum Quadrat. So mache ich das zumindest immer und es funktioniert gut.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 10.09.2009, 08:20   #13 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

Ich hatte mit Franks ProSpeed Layertechnik angefangen,- z.B. Bildbereich ausschneiden, einen Sprite erzeugen, Ausschnitt einfügen-, und war mit dem Handling, in diesem Fall nur verschieben, zufrieden. Das Objekt war ja mit "MouseOverSprite (B,A,X,Y)" schnell gefunden.

Gruß Thomas
THFR ist offline   Mit Zitat antworten
Alt 10.09.2009, 11:32   #14 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Danke für den Hinweis. Sollte mich motivieren, nicht nur reines XProfan zu verwenden...
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 10.09.2009, 13:02   #15 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

Wird sicher auch alles in reinem XProfan gehen > Sprites für OpenGL, usw.< , aber die Finessen aus Franks DLL alle selbst erstellen?
Gruß Thomas
THFR ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an




Alle Zeitangaben in WEZ +2. Es ist jetzt 12:01 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2