Deutsch
Quelltexte/ Codesnippets

Animierte Buttons Cursor Hunde Lassen Laufen Zuwei

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Animierte Cursor laufen lassen (Hunde), oder Buttons zuweisen
Lauffähig ab Profan-Version 5.0
#############################################################
Animierte Cursor laufen lassen
oder Buttons zuweisen
oder Icons aus Dlls oder eigener Instanz laden und zuweisen
für Profan² 32-bit
#############################################################
Andreas Miethe * Bielefeld * August 1998
Quellcode ist frei nutzbar
#############################################################
Beschreibung für DrawIconEx
***************************
DrawExIcon (Device-Context-Handle{HDC},X-Position,Y-Position,ICON-Handle,Icon-Breite,Icon-Hoehe,
Icon-Index{Bild-Nummer bei Animation},Hintergrundfarbe,Flags)
bei animierten Cursorn sollte die Anzahl der Bilder und die Verzoegerung bekannt sein !
Flags :
#######
DI_MASK = 1
DI_IMAGE = 2
DI_NORMAL = 3
DI_COMPAT = 4
DI_DEFAULTSIZE = 8
#################################################################################################
Def ADrawIconEx(9) ! User32,DrawIconEx
Def LoadIcon(2) !USER32,LoadIconA
Def APILoadCursorFromFile(1) ! USER32,LoadCursorFromFileA
Def ASleep(1) !Kernel32,Sleep
Def APICreateSolidBrush(1) ! GDI32,CreateSolidBrush
Def APIGetDC(1) ! USER32,GetDC,%,%
DEF @AGetSysColor(1) !USER32,GetSysColor
DEF AExtractIcon(3) !SHELL32,ExtractIconA
Declare hdll&,DllIcon&,InstIcon&,sysicon&,Ico&,B1&,st#,Datei#
Declare Button%,BDC&,IDC&
Declare yy%,x%,x1%,ende%,y%,b&,farbe&,g%
Declare hcur#,hc&,hc1&
Settruecolor 1

Proc Lade_Hund

    Den  Hund  laden
    Parameters name$
    Dim hcur#,len (name$) + 1
    String hcur#,0=name$
    Let hc&=APILoadCursorFromFile(hcur#)
    Dispose hcur#

Endproc

Proc Lade_Globus

    Den  Globus  laden
    Parameters name$
    Dim hcur#,len(name$) + 1
    String hcur#,0=name$
    Let hc1&=APILoadCursorFromFile(hcur#)
    Dispose hcur#

Endproc

Proc Male_Icon_1

    Ein Icon aus der eigenen Instanz
    ################################
    Dim st#,50
    String st#,0 = A
    Let InstIcon&=LoadIcon(%hinstance,st#) Icon A aus HINSTANCE
    ADrawIconEx(%HDC,100,100,InstIcon&,32,32,0,b&,3)  In das Fenster
    Dispose st#

Endproc

Proc Male_Icon_2

    Ein Icon aus einer DLL
    ######################
    Dim Datei#,120
    String Datei#,0=Moricons.dll
    Let dllIcon& = AExtractIcon(%Hinstance,Datei#,49)
    ADrawIconEx(%HDC,100,200,dllIcon&,64,64,0,b&,3) ein bißchen groeßer - In das Fenster
    Dispose Datei#

Endproc

Ein System-Icon
###############
Let SysIcon& = LoadIcon(0,32513)  SYSTEMICON - {von 32512 - 32517}

Proc Male_ani

    Das Systemicon
    ADrawIconEx(BDC&,4,4,SysIcon&,16,16,x1%,b&,3)  Auf den Button
    Der erste Globus
    ADrawIconEx(BDC&,76,4,Hc1&,16,16,x1%,b&,3)  Auf den Button
    Der zweite Globus
    ADrawIconEx(IDC&,3,3,Hc1&,32,32,x1%,b1&,3)  In ein Control
    Der erste Hund
    ADrawIconEx(%hdc,y%,yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(y%,g%),yy%-add(y%,add(g%,g%)),add(yy%,g%)
    Der zweite Hund
    ADrawIconEx(%hdc,sub(y%,64),yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(sub(y%,64),g%),yy%-add(sub(y%,64),add(g%,g%)),add(yy%,g%)
    Der dritte Hund
    ADrawIconEx(%hdc,sub(y%,128),yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(sub(y%,128),g%),yy%-add(sub(y%,128),add(g%,g%)),add(yy%,g%)

Endproc

Proc Fensteraufbau

    Let Button% = @CreateButton(%hwnd,Ende,10,10,100,24)
    Let BDC& = APIGetDC(Button%)              Device-Context-Handle für den Button
    Let ico& = @Control(Static,,$50001004,580,0,40,40,%hwnd,1000,%Hinstance)
    Let IDC& = APIGetDC(Ico&)                Device-Context-Handle für das Control
    Let B1&=rgb(0,0,0)                       Hintergrundfarbe für Control

Endproc

Hauptprogramm
#############
Lade_Hund Dog.ani                      Animierter Cursor Nr.1
Lade_Globus Globe2.ani                 Animierter Cursor Nr.2
Let Farbe& = @AGetSysColor(15)           Buttonface - Hintergrundfarbe für animierten Cursor
window add(%maxx,1),0-640,480            erstmal neben den Bildschirm
UseFont Arial,15,0,0,0,0
SetDialogFont 1
CLS Farbe&
Let b& = APICreateSolidBrush(Farbe&)     Hier wird die Hintergrundfarbe gesetzt
für die transparente Darstellung
UseBrush 1,Farbe&  wird benötigt für Rechteck
UsePen 0,0,Farbe&  wird benötigt für Rechteck
Wird das Rechteck nicht gezeichnet, zieht ein animierter
Cusor Streifen - probier es aus !
Voreinstellungen für den Hund
#############################
Let y%=830      Anfangsposition
Let g%=32       Groesse des Curors
Let yy%=300     Y-Position
Fensteraufbau
setwindowpos %hwnd = 0,0-640,480         jetzt auf den Bilschirm
Male_Icon_1
Male_Icon_2
Male_ani

whilenot ende%

    case equ(x%,6):let x%=0

    if lt (y%,sub(g%,mul(g%,3)))

        let y%=830

    endif

    Case Getfocus(Button%):let ende%=1
    case equ(x1%,16):let x1%=0
    Male_ani
    inc x%
    inc x1%
    sub y%,10
    ASleep(60)

wend

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

4.312 Betrachtungen

Unbenanntvor 0 min.
Andre Rohland04.02.2018
Joerg09.06.2016
GDL31.12.2014
Klaus Ernst09.02.2011

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