Source/ Codesnippets | | | | Jörg Sellmeyer |
$H windows.ph
SubProc Créer.XBitmap
Paramètres hwnd&,hPic&,x%,y%,ToolTip$,ExtStyle%
Cas %pcount = 5:ExtStyle% = 0
Si ExtStyle% = 1
ExtStyle% = ~WS_EX_DLGMODALFRAME
ElseIf ExtStyle% = 2
ExtStyle% = ~WS_EX_CLIENTEDGE
ElseIf ExtStyle% = 3
ExtStyle% = ~WS_EX_CLIENTEDGE | ~WS_EX_DLGMODALFRAME
EndIf
SizeOf(hPic&)
Var hdl& = Contrôle("STATIC","test",$5400090E,% X, y%,%bmpx,%bmpy,hwnd&,0,%HINSTANCE,ExtStyle%)
SendMessage(hdl&,~STM_SETIMAGE,0,hPic&)
Créer("Tooltip",hwnd&,hdl&,ToolTip$)
Retour hdl&
ENDPROC
Cls
ChDir $WinPath
Imprimer $ FindFirst("*.bmp"),
Si %Ioresult
Imprimer "Keine Bilder vorhanden"
WaitInput
Fin
D'autre
imprimer FindNext$(),FindNext$(),FindNext$()
EndIf
Var hPic1& = Créer("hSizedPic",-1,$ FindFirst("*.bmp"),80,80,1)
Var hPic2& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
Var hPic3& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
Var hPic4& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
var h1& = Créer("XBitmap",%hwnd,hPic1&,10,100,$ FindFirst("*.bmp"),2)
var h2& = Créer("XBitmap",%hwnd,hPic2&,110,100,FindNext$(),1)
var h3& = Créer("XBitmap",%hwnd,hPic3&,210,100,FindNext$(),2)
var h4& = Créer("XBitmap",%hwnd,hPic4&,310,100,FindNext$(),3)
AddStrings(0,Str$( hpic1&))
AddStrings(0,Str$( hpic2&))
AddStrings(0,Str$( hpic3&))
AddStrings(0,Str$( hpic4&))
Randomiser
Déclarer bild&
Imprimer "einfach fois le Bilder anklicken"
Tandis que 1
WaitInput
bild& = Val(GetString$(0,Tour(4)))
Si %clé = 27
Pause
ElseIf (&wparam = h1&) Or (&lparam = h1&)
~LockWindowUpdate(h1&)
SendMessage(h1&,~STM_SETIMAGE,0,bild&)
~LockWindowUpdate(0)
ElseIf (&wparam = h2&) Or (&lparam = h2&)
SendMessage(h2&,~STM_SETIMAGE,0,bild&)
ElseIf (&wparam = h3&) Or (&lparam = h3&)
SendMessage(h3&,~STM_SETIMAGE,0,bild&)
ElseIf (&wparam = h4&) Or (&lparam = h4&)
SendMessage(h4&,~STM_SETIMAGE,0,bild&)
EndIf
Wend
DeleteObject hPic1&,hPic2&,hPic3&,hPic4&
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.11.2011 ▲ |
| |
| | | quoi je tant pis finde ist cela on Bitmaps irgendwie pas flickerfrei neue Bilder zuweisen peux. |
| | | | |
| | Jörg Sellmeyer | chez den kleinen Bildern fällt es pas so sur mais selbst avec LockWindowUpdate sieht on ab et à so une weißen Streifen. Avez- Du cela? |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.11.2011 ▲ |
| |
| | | si petite ou bien grand... ist arrêt qui Frage combien Zeit qui calculateur grad hat etc...
chez größeren Bitmaps fällt cela naturellement plutôt sur.
Musst la fois z.B. très fix aktualisieren z.B. 50 Bilder pro seconde ou bien viele kleine Bitmaps. . |
| | | | |
| | | Solch direct dans XProfan eingbautes Canvas ( [...] ) wäre qui Brüller mais steht oui offensichtlich pas einmal zur Diskussion quoique es simple umzusetzen ist là im Prinzip seulement un hPic chez wmPaint gemalt volonté muss. Pratiquement un create.canvas cela un Contrôle/ la fenêtre erstellt dem un hPic zugeordnet volonté peux welches gezeichnet wird chez wm_paint. (Es muss oui pas juste une scrollbare Zeichenfläche son comment vous de qui Inc erzeugt wird qui dynamisch per Proc zeichnet statt un hPic.) |
| | | | |
| | Jörg Sellmeyer | encore plus Spielereien avec Tooltips et Bitmaps. je n'en sais rien, si cela so "statthaft" ist. Ist mais lustich:
Fenêtre %maxx,%maxy
Déclarer hBmp&,t&
ChDir $WinPath
AddFiles "*.bmp"
Déclarer hPic&[],hBack&[]
Var y% = 2
Déclarer bmptext$
WhileLoop 0,%getcount'-270
hPic&[&Boucle] = Créer("hSizedPic",-1,GetString$(0,&Boucle),80,80,1)
hBmp& = Créer("Bitmap",%hwnd,hPic&[&Boucle],5 + (&Boucle Mod 23) * 81,y%)
hBack&[&Boucle] = Créer("hSizedPic",-1,GetString$(0,&Boucle),380,380,1)
bmptext$ = $ MkStr(Space$(%bmpx \ 3) + "\n",%bmpy \ 13)
t& = Créer("Tooltip",%hwnd,hBmp&,bmptext$)
SetText t&, %hwnd, 0,»,0,GetString$(0,&Boucle)
'cela bewirkt malheureusement rien
' SetWindowPos t& = 2000,0 - %bmpx,%bmpy;1
Créer("Bitmap",t&,hBack&[&Boucle],10,30)
SetStyle hBmp&,GetStyle(hbmp&) | $100
Casenote (&Boucle + 1) Mod 23:Inc y%,80
Titre de la fenêtre Str$(%getcount - &Boucle)
Wend
Imprimer "fertig!"
Randomiser
Tandis que 1
Waitinput
Si IsKey(27)
Pause
EndIf
Wend
WhileLoop 0,SizeOf(hPic&[])-1
DeleteObject hPic&[&Boucle],hBack&[&Boucle]
Wend
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.11.2011 ▲ |
| |
| | | Öhm... chez mir ici grad sous Vue vois je ("nur") un weißes la fenêtre avec qui Ausgabe "fertig!".
|
| | | | |
| | Jörg Sellmeyer | la hâte Du car Bitmaps im Windowsordner? Sonst passeport den Pfad doch la fois à. allez oui aussi avec allen anderen Formaten, si Du den Code entsprechend änderst. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 16.11.2011 ▲ |
| |
| | | Hmpf, X11 gibt mir naturellement chez cette Anweisung: qui annonce:
aus.
alors fix erstmal XProfan12 zusammengesucht là je sur diesem ordinateur ici encore "neu" suis et siehe là:
seulement à droite le rebord entre Bild et ToolTip-rebord ist pas so breit comment à gauche. |
| | | | |
| | Jörg Sellmeyer |
seulement à droite le rebord entre Bild et ToolTip-rebord ist pas so breit comment à gauche.
oui, qui Platzierung ist très rudimentär, là SetWindowPos anscheinend pas funktioniert chez Tooltips. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 16.11.2011 ▲ |
| |
| | Jörg Sellmeyer | je probier grad la fois aus, cela sur une Dialog auszulagern et peng - allez pas Ist cela maintenant ne profaneigene Schikane ou bien veux Windows cela pas? sur dem Dialog venez zwar qui Mausklick avec à droite par mais qui linke Klick seulement, si il comme Double-cliquez sur erfolgt. Ist doch plöd!
$H windows.ph
SubProc Créer.XBitmap
Paramètres hwnd&,hPic&,x%,y%,ToolTip$,ExtStyle%
Cas %pcount = 5:ExtStyle% = 0
Si ExtStyle% = 1
ExtStyle% = ~WS_EX_DLGMODALFRAME
ElseIf ExtStyle% = 2
ExtStyle% = ~WS_EX_CLIENTEDGE
ElseIf ExtStyle% = 3
ExtStyle% = ~WS_EX_CLIENTEDGE | ~WS_EX_DLGMODALFRAME
EndIf
SizeOf(hPic&)
Var hdl& = Contrôle("STATIC","test",$5400090E,% X, y%,%bmpx,%bmpy,hwnd&,0,%HINSTANCE,ExtStyle%)
SendMessage(hdl&,~STM_SETIMAGE,0,hPic&)
Créer("Tooltip",hwnd&,hdl&,ToolTip$)
Retour hdl&
ENDPROC
Cls
Var dlg& = Créer("Dialog",%hwnd,"Test",%winLeft + 50,%wintop + 100,600,400)
ChDir $WinPath
Imprimer $ FindFirst("*.bmp"),
Si %Ioresult
Imprimer "Keine Bilder vorhanden"
WaitInput
Fin
D'autre
imprimer FindNext$(),FindNext$(),FindNext$()
EndIf
Var hPic1& = Créer("hSizedPic",-1,$ FindFirst("*.bmp"),80,80,1)
Var hPic2& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
Var hPic3& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
Var hPic4& = Créer("hSizedPic",-1,FindNext$(),80,80,1)
var h1& = Créer("XBitmap",dlg&,hPic1&,10,100,$ FindFirst("*.bmp"),2)
var h2& = Créer("XBitmap",dlg&,hPic2&,110,100,FindNext$(),1)
var h3& = Créer("XBitmap",dlg&,hPic3&,210,100,FindNext$(),2)
var h4& = Créer("XBitmap",dlg&,hPic4&,310,100,FindNext$(),3)
AddStrings(0,Str$( hpic1&))
AddStrings(0,Str$( hpic2&))
AddStrings(0,Str$( hpic3&))
AddStrings(0,Str$( hpic4&))
Randomiser
Déclarer bild&
Imprimer "einfach fois le Bilder anklicken"
Tandis que 1
WaitInput
bild& = Val(GetString$(0,Tour(4)))
Si %clé = 27
Pause
ElseIf (&wparam = h1&) Or (&lparam = h1&)
imprimer "a"
~LockWindowUpdate(h1&)
SendMessage(h1&,~STM_SETIMAGE,0,bild&)
~LockWindowUpdate(0)
ElseIf (&wparam = h2&) Or (&lparam = h2&)
SendMessage(h2&,~STM_SETIMAGE,0,bild&)
ElseIf (&wparam = h3&) Or (&lparam = h3&)
SendMessage(h3&,~STM_SETIMAGE,0,bild&)
ElseIf (&wparam = h4&) Or (&lparam = h4&)
SendMessage(h4&,~STM_SETIMAGE,0,bild&)
EndIf
Wend
DeleteObject hPic1&,hPic2&,hPic3&,hPic4&
|
| | | | |
|
Zum QuelltextOptions du sujet | 14.513 Views |
Themeninformationencet Thema hat 2 participant: |