English
Source / code snippets

Animated Buttons Cursor dogs let walk Zuwei

 

CompileMarkSeparation
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(60n class=s2>)

wend

end
 
07/15/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

4.281 Views

Untitledvor 0 min.
Andre Rohland02/04/18
Joerg06/09/16
GDL12/31/14
Klaus Ernst02/09/11

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie