Deutsch
Quelltexte/ Codesnippets

Fortschrittsbalken Grafik Statusbar

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Statusbar mit Fortschrittsbalken und Grafik
====================================================================
StatusZeile mit API für Profan 32 Bit, Win 95 erzeugen
und automatisch an die Fensterveränderung anpassen.
Zusätzlich im ersten Feld der Statusbar eine Progressbar erzeugen.
Grafik in der Statusbar ausgeben
Buttons als Steuer-Elemente in einem Feld der Statuszeile.
(c) 1998 Richard Maurukas
====================================================================
declare Statbar&,t$,Ende%
declare Felder&
declare StatbarFeld#           Beinhaltet die Feldbereiche von links
Declare StatbarText1#,StatBarText2#,StatBarText3#,StatBarText4#  usw
Declare TRect#                 Rectangle des Feldes für die Progressbar
Declare Progress_1&            Handle der Progressbar
declare sbutton1%,sbutton2%,sbutton3%,sbutton4%,sSatz%
DIM Trect#,16                  Max Adresse der Rectangle Struktur
Dim Statbartext1#,255          maximalAnzahl der Zeichen im Feld 255
Dim StatBarText2#,255
Dim StatBarText3#,255
Dim StatBArText4#,255
dim Statbarfeld#,255
long StatBarFeld#,0=200                     erstes Feld von Links
long StatBarFeld#,4=400                     zweites Feld von Links
long StatBarFeld#,8=580                     drittes Feld von Links
long StatBarFeld#,12=640                    viertes Feld usw.
string StatBarText1#,0=1998 Richard Maurukas
string StatBarText2#,0=Statuszeile für Profan 32 Bit
String StatBarText3#,0=mit Feldern
String StatbarText4#,0=Time$(0)
Def CreateStatusBar(4) !COMCTL32.DLL, CreateStatusWindowA
cls
let Statbar&=CreateStatusBar($50800010,0,%hwnd,100)   als letztes eine ID
let Felder&=sendmessage(Statbar&,$404,4,StatBarFeld#) Aufteilung der Felder
sendmessage(Statbar&,$401,0,StatBarText1#)           Text ab ins erste Feld
sendmessage(Statbar&,$401,1,StatBarText2#)          Text ab ins zweite Feld
sendmessage(Statbar&,$401,2,StatBartext3#)          Text ab ins dritte Feld
sendmessage(Statbar&,$401,3,StatBartext4#)          Text ab ins dritte Feld
usw.
Hier noch einige Infos aus der Statbar holen u. anzeigen
Print Anzahl der Felder in der StatusBar: ;Sendmessage(Statbar&,$406,0,0)
Print Textlänge in Feld 1               : ;SendMessage(Statbar&,$403,0,0)
Die Rechteck Struktur aus dem ersten Statusbarfeld für die Progressbar holen
sendmessage(Statbar&,$40A,0,TRect#)
die Progressbar in das 1. Feld der Statusbar setzen
Let Progress_1&=@control(msctls_progress32,@$(2),$50000000,
long(TRect#,0),long(Trect#,4),
long(Trect#,8),sub(long(Trect#,12),2),
Statbar&,102,%HInstance)
sendmessage(Progress_1&,$402,50,0) auf 50 setzen
sendmessage(Statbar&,$40A,2,TRect#) Die Rechteckstrucktur aus Feld 3
Let sbutton1%=createbutton(statbar&,|<,long(TRect#,0),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton2%=createbutton(statbar&,<,add(long(TRect#,0),20),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton3%=createbutton(statbar&,>,add(long(TRect#,0),80),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton4%=createbutton(statbar&,>|,add(long(TRect#,0),100),
long(Trect#,4),20,sub(long(Trect#,12),2))
Let ssatz%=createedit(statbar&,50,add(long(TRect#,0),40),long(Trect#,4),
40,sub(long(Trect#,12),2))

whilenot equ(ende%,20) ges 46

    DrawLibIcon Progman.EXE,ende%,mul(30,ende%),100
    DrawLibIcon Progman.EXE,add(20,ende%),mul(30,ende%),140
    inc ende%

wend

startpaint Statbar&
DrawLibIcon Progman.EXE,39,add(long(TRect#,0),130),-4
endpaint
decimals 0
Let Ende%=0

whilenot Ende%

    waitinput

    If @equ(%key,4)

        wenn die Fenstergröße verändert wurde, die Statusbar ans Fenster anpassen.
        SetWindowPos Statbar&=0,0-0,0;0
        startpaint Statbar&
        DrawLibIcon Progman.EXE,39,add(long(TRect#,0),130),-4
        endpaint

    Elseif Getfocus(Sbutton1%)

        sendmessage(Progress_1&,$402,0,0)   auf 0 setzen
        Settext ssatz%,0

    Elseif Getfocus(Sbutton2%)

        sendmessage(Progress_1&,$403,-2,0)   um 2 erniedrigen
        Settext ssatz%,str$(sub(Val(gettext$(Ssatz%)),2) )

    Elseif Getfocus(Sbutton3%)

        sendmessage(Progress_1&,$403,2,0)   um 2 erhöhen
        Settext ssatz%,str$(add(Val(gettext$(Ssatz%)),2) )

    Elseif getfocus(Sbutton4%)

        sendmessage(Progress_1&,$402,100,0) auf 100 setzen
        Settext ssatz%,100

    Elseif @Equ(%Scankey,27)

        let ende%=1

    endif

wend

dispose Statbartext1#
Dispose Statbartext2#
Dispose Statbartext3#
Dispose Statbartext4#
Dispose Statbarfeld#  Tippfehler Dsipose Stabarfeld# verbessert, Thomas Hölzer
dispose Trect#
end
 
15.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.628 Betrachtungen

Unbenanntvor 0 min.
Thomas Freier30.01.2024
Stephan Sonneborn04.11.2019
PETER195618.07.2018
Andre Rohland04.05.2014
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


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