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 Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
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 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 20.03.2010, 09:38   #1 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln 'SLEEP' unter Win-7

Hallo an Alle
Habe mir etwas "zusammen gebastelt" - Das funktioniert auch wunderbar im Interpreter. Mache ich eine EXE-Datei daraus, funktioniert unter Win-7 der SLEEP-Befehl nicht ! - Unter ...XP klappt alles einwandfrei. Brauche aber den SLEEP-Befehl, um den "Button ist gedrückt"-Effekt zu erhalten.
Hier ein SChreenshot (verkleinert) und der CODE. Bitte um Test unter allen Windows-Versionen. - Danke



Zitat:
'Gebastelt im März 2010 von Horst Horn - frei für Alle
'**************************************************************
DECLARE icondll$
icondll$="SHELL32.DLL" 'jede andere DLL geht auch mit Pfad
DECLARE B_spalte%,B_zeile%,B_lang%,B_hoch% 'Globale Variablen
B_lang%=130:B_hoch%=36
'------------------------------------------------------------------
WindowStyle 26
CLS RGB(200,200,255)
WindowTitle "TEST - TEST"
USEICON "GESICHT"
'Parameters Icon,Spalte,Zeile,Text
BILD_BUTTON 23,5,5,"F1 Hilfe"
BILD_BUTTON 2,5,50,"&Neue Datei"
BILD_BUTTON 19,5,100,"&Datei laden"
BILD_BUTTON 16,5,150,"&Ausdruck"
BILD_BUTTON 6,5,200,"&Speichern"
BILD_BUTTON 43,5,300,"F9 Info..."
BILD_BUTTON 27,5,410,"Alt+F4 Ende"
TEXTCOLOR RGB(0,0,0),-1
USEFONT "ARIAL",18,0,0,0,0
DRAWTEXT 200,100,"Test-Buttons mit Text und Icon aus einer DLL"
DRAWTEXT 200,150,"Im Beispiel die SHELL32.DLL"
DRAWICON "GESICHT",300,250
WHILE 1
WAITINPUT
IF MOUSE(5,5 - B_lang%,36) | Iskey(112)
3D_BUTTON 5,5
MELDUNG "Hilfetext"
ENDIF

IF MOUSE(5,50 - B_lang%,86)
3D_BUTTON 5,50
MELDUNG "Neue Datei"
ENDIF

IF MOUSE(5,100 - B_lang%,136)
3D_BUTTON 5,100
MELDUNG "Datei öffnen"
ENDIF

IF MOUSE(5,150 - B_lang%,186)
3D_BUTTON 5,150
MELDUNG "Datei drucken"
ENDIF

IF MOUSE(5,200 - B_lang%,236)
3D_BUTTON 5,200
MELDUNG "Daten speichern"
ENDIF

IF MOUSE(5,300 - B_lang%,336) | Iskey(120)
3D_BUTTON 5,300
MELDUNG "copyright by Horst Horn ©2010"
ENDIF

IF MOUSE(5,410 - B_lang%,446) | (Iskey(115) & IsKey(18))
3D_BUTTON 5,410
END
ENDIF
ENDWHILE
'----------------------------------------------------
PROC BILD_BUTTON
DECLARE buttontext%,buttonfont%,bI%
buttonfont%=CREATE("FONT","ARIAL",16,6,0,0,0)
PARAMETERS icon%,B_spalte%,B_zeile%,text$
USEPEN 0,2,RGB(255,255,255)
USEBRUSH 1,RGB(255,255,255)
RECTANGLE B_spalte%,B_zeile% - (B_lang%+5),(B_zeile%+B_hoch%)
USEPEN 0,2,RGB(220,220,220)
LINE B_spalte%,(B_zeile%+B_hoch%) - B_spalte%,B_zeile%
LINETO (B_spalte%+B_lang%),B_zeile%
USEPEN 0,2,RGB(0,0,0)
LINETO (B_spalte%+B_lang%),(B_zeile%+B_hoch%)
LINETO B_spalte%,(B_zeile%+B_hoch%)
DRAWLIBICON icondll$, icon%, (B_spalte%+3), (B_zeile%+3)
BI%=LEN(text$)
buttontext%=CREATE("TEXT",%HWnd,text$,(B_spalte%+43),(B_zeile%+9),(bI%*6+5),(B_h och%/2))
SetFont buttontext%,buttonfont%
ENDPROC
'--------------------------------------------------
PROC 3D_BUTTON
PARAMETERS B_spalte%,B_zeile%
USEPEN 0,2,RGB(0,0,0)
LINE B_spalte%,(B_zeile%+B_hoch%) - B_spalte%,B_zeile%
LINETO (B_spalte%+B_lang%),B_zeile%
USEPEN 0,2,RGB(220,220,220)
LINETO (B_spalte%+B_lang%),(B_zeile%+B_hoch%)
LINETO B_spalte%,(B_zeile%+B_hoch%)
SLEEP 300
USEPEN 0,2,RGB(220,220,220)
LINE B_spalte%,(B_zeile%+B_hoch%) - B_spalte%,B_zeile%
LINETO (B_spalte%+B_lang%),B_zeile%
USEPEN 0,2,RGB(0,0,0)
LINETO (B_spalte%+B_lang%),(B_zeile%+B_hoch%)
LINETO B_spalte%,(B_zeile%+B_hoch%)
ENDPROC
'--------------------------------------------------------------
PROC MELDUNG
PARAMETERS meld$
Messagebox(meld$,"Nur als Beispiel",64)
ENDPROC
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de

Geändert von horsthorn (20.03.2010 um 09:58 Uhr) Grund: Druckfehler !
horsthorn ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 20.03.2010, 10:03   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Habs grad mal getestet. Die Knöpfe reagieren interpretiert und compiliert bei mir eigentlich gleich. der 3D-Rahmen wird invertiert und nach kurzer Zeit erscheint die Messagebox.
Ich würde das aber nicht mit Sleep realisieren. Vielmehr solltest du mit WM_LBUTTONDOWN und WM_LBUTTONUP arbeiten (subclassen), sowie WM_MOUSEMOVE und WM_MOUSELEAVE/WM_MOUSEHOVER (siehe TrackMouseEvent). Das ist für den Moment aufwendiger, funktioniert aber dafür sicher und robust, und reagiert mausgenau.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 20.03.2010, 10:05   #3 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Funktioniert bei mir auch im Interpreter und als Exe gleich. Unter Win 7 getestet, allerdings mit der Beta von XProfan 12
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 20.03.2010, 10:15   #4 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln

Nun steh ich da, ich armer Tor und bin so schlau als wie zuvor...

@Frank
Für deinen Vorschlag bin ich doch zu blöde. Das weißt du doch !

@Dieter
Arbeite auch mit der Beta von XProfan-12. Warum "SLEEPT" das bei mir nicht ?
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist offline   Mit Zitat antworten
Alt 20.03.2010, 10:41   #5 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

@Horst,

wenn du nicht subclassen willst, dann nehme doch anstatt sleep einfach eine Schleife und stelle dir die gewünschte Zeit ein.

Whileloop 0, 300
endwhile
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 20.03.2010, 11:32   #6 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln

Zitat:
Zitat von Bangkok Beitrag anzeigen
@Horst,

wenn du nicht subclassen willst, dann nehme doch anstatt sleep einfach eine Schleife und stelle dir die gewünschte Zeit ein.

Whileloop 0, 300
endwhile
@Dieter
Wo du Recht hast, hast du Recht !
Hab mal wieder vor lauter Bäumen den Wald nicht gesehen...
Na ja, man wird alt !
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist offline   Mit Zitat antworten
Alt 20.03.2010, 13:51   #7 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Oho, Schleife? Wenn schon, dann aber nur mit Kontrolle von &gettickcount, sonst läuft es überall unterschiedlich lang ab. Würde ich generell abraten von dieser Methode.
Vielleicht hab ich nachher etwas Zeit für ein Beispiel meines Vorschlags. Dazu sind aber echte Buttons nötig. Grafiken können ja keine Messages empfangen.

EDIT:
Hier noch ein simples Beispiel für eigene Knöpfe. Du willst ja doch selber malen:

Code:
Def ExtractIconEx(5) !"shell32.dll","ExtractIconExA"
Def DrawFrameControl(4) !"user32","DrawFrameControl"

Declare rect#, icon&
Dim rect#,16

Cls
ExtractIconEx("shell32.dll",5,0,Addr(icon&),1)
Textcolor 0,-1

Whileloop 4
  
  ' Gedrückt
  '
  Long rect#,0 = 8,8,140,38
  DrawFrameControl(%hdc,rect#,$4,$210)
  DrawFrameControl(%hdc2,rect#,$4,$210)
  DrawText 49,17,"Probeknopf"
  DrawIcon icon&, 17, 17
  Sleep 300

  ' Losgelassen
  '
  Long rect#,0 = 8,8,140,38
  DrawFrameControl(%hdc,rect#,$4,$10)
  DrawFrameControl(%hdc2,rect#,$4,$10)
  DrawText 48,16,"Probeknopf"
  DrawIcon icon&, 16, 16
  Sleep 300
  
EndWhile

While 1
  WaitInput
  Case %key=2:BREAK
EndWhile

DeleteObject icon&
Dispose rect#
End
__________________
Gruß, Frank


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

Geändert von Frabbing (20.03.2010 um 14:37 Uhr)
Frabbing ist offline   Mit Zitat antworten
Alt 20.03.2010, 14:51   #8 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Zitat:
Zitat von horsthorn Beitrag anzeigen
Das funktioniert auch wunderbar im Interpreter. Mache ich eine EXE-Datei daraus, ....
Das hört sich nach einem "alten Bekannten" an - das liegt nicht direkt an Windows7.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 20.03.2010, 16:52   #9 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Für diesem Zweck dürfte eine unterschiedliche Zeit, die ja im ms Bereich liegt unwesentlich sein. ich hatte schon Schleifen auf meinem normalen Computer und meinem Notebook getestet, Mein normaler Computer ist wesentlich stärker als mein Notebook, aber der Unterschied minimal, wie gesagt einige Millisekunden.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 21.03.2010, 10:38   #10 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

...bei einer Schleife hätte man auch die Sicherheit, das die Messages an der richtigen Stelle verarbeitet werden und nicht manche zeitweise erst nach dem Sleep, was hier wohl zu dem Fehler führte.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 21.03.2010, 12:55   #11 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln

Bitte den Text im Bild lesen...

EDIT (Frabbing): Bild entfernt, weil es lesbare Kontodaten enthielt.
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de

Geändert von Frabbing (21.03.2010 um 14:28 Uhr)
horsthorn ist offline   Mit Zitat antworten
Alt 21.03.2010, 13:09   #12 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

So?
Code:
Sendmessage(Listbox&,$185,1,Nullbasierte_Zeilennummer&)
(markieren)
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 21.03.2010, 13:12   #13 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Oder so?
(einfügen)
Code:
Sendmessage(Listbox&,$181,Nullbasierte_Zeilennummer&,Addr(einzufügender_Text$))
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 21.03.2010, 13:40   #14 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Beitrag

@Andreas
Das ist die Aufgabe:
Zitat:
IF MenuItem(201)
ADDSTRING(E_list&,MKSTR$(" ",20)+"Sehr geehrter Herr "+vname1$+" "+nname1$)
SENDSTRING(rtf_editor&,MKSTR$(" ",20)+"Sehr geehrter Herr "+vname1$+" "+nname1$+CHR$(13))
ENDIF
E_list& = Listbox
rtf_editor& = Richedit
Was eingefügt werden soll, sind sogenannte "Add-Ons" (sind doch IN) - in der Richedit-Box klappt das einwandfrei. Die Listbox schreibt das immer in die 1. Zeile (In der rechten Ansicht soll aber ein Überblick über das ganze Formular stehen. Schreibe ich im Richedit, wird das 1 zu 1 in die Listbox übertragen. Dank des Codes hier aus den anderen Thread, den ich für mich abgewandelt habe.
Mit dem Übertrag hier klappt das noch nicht. Die Messages hab ich schon vorher probiert (trotzdem Danke) aber noch ist das Ergebnis 0 - da ist wieder Probieren (meine Stärke) angesagt
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist offline   Mit Zitat antworten
Alt 21.03.2010, 17:02   #15 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln

Das liebe ich an XPROFAN Danke RGH
Selbst ich Depp finde eine Lösung. Das Problem bei der Eintragung in die Listbox ist ganz einfach zu lösen. Man muss der Listbox erstmal "beibringen", daß sie Zeilen hat ! Eine leere LIstbox kann ja nicht auf die Zeileneingabe reagieren. So sieht das bei mir jetzt im Experimentierkasten aus:
Zitat:
DECLARE test&,text$,text2$
text$="Testzeile":text2$="noch eine Testzeile "
DECLARE anzahl%,I%,zeile%
I%=0:zeile%=7 'frei gewählt
CLS
test&=CREATE("LISTBOX",%HWnd,"",10,10,200,400)
WHILENOT I% = 40 'willkürlich gesetzt
ADDSTRING(test&," ")
INC I%
ENDWHILE
anzahl%=GETCOUNT(test&)
print anzahl% 'nur zur Kontrolle
Sendmessage(test&,$181,zeile%,Addr(text$))
Sendmessage(test&,$181,17,Addr(text2$)) 'frei gewählt
WHILE 1
WAITINPUT
CASE IsKey(27):END
ENDWHILE
END
Wenn jemand noch optimieren kann, her damit !
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PC - Sleep Modus ?? Unregistriert Hardware - Problemlösungen 1 17.11.2009 23:13
Neues Sleep, millisekunden-genau Frabbing XProfan 3 28.04.2009 19:46
sleep programm o'DOG Allgemein 4 06.09.2005 08:06
standby/sleep modus bamcas Linux 0 23.12.2004 23:38
PC Friert ein unter winxp oder macht grafikfehler unter 2000 Floker Hardware - Problemlösungen 4 21.10.2004 13:37



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:07 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