... von einem XP-Rechner, so wie ich.Jimmy hat geschrieben:... woher jetzt nehmen ?
Jan
Moderator: Moderatoren
was hast du für eine VISTA Version ?Jan hat geschrieben: Ergebnis: Auf meinem Vista-Rechner ist nicht eine einzige License eingetragen!
leider ist das VB Code was ich mir in VB Studio reingezogen habe. Man sieht "es geht" ...Jan hat geschrieben: ist das jpg jetzt irgendwo "geklaut", oder ist das eine Xbase++-Anwendung? Ich hab das nämlich noch nicht hinbekommen mit den verschiedenen Farben und dem Marquee. Die Farben sind mir ehrlich gesagt vollkommen egal, aber der Marquee interessiert mich.
hm ... wir reden hier über die v6.x "Common Controls", wie unter VISTA, aber auch XP !Remarks
You can set progress bar styles, in the same way as other common controls, with CreateWindowEx, GetWindowLong, or SetWindowLong.
hm ... ist das wirklich "True" oder nur weil man die Lösung für .F. nicht "kennt" ?SL1 Forum hat geschrieben: True, MS decided not to support themes in version 6 of it's common controls.
Code: Alles auswählen
hwndProgress := CreateWindowEx(0, 'msctls_progress32', nil, WS_CHILD or
WS_VISIBLE or PBS_SMOOTH, 10, 30, 270, 15, hWnd, 0, hInstance, nil);
Code: Alles auswählen
hwndXP := CreateWindowEx(0,PROGRESS_CLASS,nil,
WS_CHILD or WS_VISIBLE or PBS_MARQUEE,10,60,
270,15,wnd,IDC_XPPROGRESS,hInstance,nil);
hm ... und wenn ich es doch mal probiere ...... blabla SendMessageA() ... dynamisch ...
Code: Alles auswählen
#include "DLL.ch"
#define WM_USER 0x0400
#define PBS_SMOOTH 0x01
#define PBS_VERTICAL 0x04
#define PBS_MARQUEE 0x08
#define PBM_SETRANGE (WM_USER+1)
#define PBM_SETPOS (WM_USER+2)
#define PBM_DELTAPOS (WM_USER+3)
#define PBM_SETSTEP (WM_USER+4)
#define PBM_STEPIT (WM_USER+5)
#define PBM_SETRANGE32 (WM_USER+6)
#define PBM_GETRANGE (WM_USER+7)
#define PBM_GETPOS (WM_USER+8)
#define PBM_SETBARCOLOR (WM_USER+9)
#define PBM_SETMARQUEE (WM_USER+10)
DLLFUNCTION SendMessageA( nHwnd, nCmd, wParam, lParam) USING STDCALL FROM USER32.DLL
...
oProgress := XbpProgressBar():New( oDlg:DrawingArea )
// Uncomment this line to create a 6.0-type progress
// bar, see notes above
//
oProgress:CtrlVer := 6
oProgress:Create(,, aPos, aSize )
IF oProgress:CtrlVer = 6
* oProgress:BarStyle := XBPPRGR_STYLE_MARQUEE
oProgress:BarStyle := XBPPRGR_STYLE_SMOOTH
hwndPB := oProgress:hWnd
SendMessageA(hwndPB, PBS_MARQUEE , 1, 200)
SendMessageA(hwndPB, PBM_SETMARQUEE , 1, 200)
SendMessageA(hwndPB, PBM_SETBARCOLOR, 0,;
AutomationTranslateColor( GraMakeRGBColor({076,254,076}),.F.) )
...
PROCEDURE ProgressThreadFunc( oProgress,oProz,oStatic )
SendMessageA(hwndPB, PBM_SETSTEP , 5, 0)
...
und vom selben User etwas später :Has anyone been able to get this setting for Progress bar type working...Yes i am using Windows XP SP2 and have included the commctl.h and InitCommonControl() ... (forgive me if i didnt spell out their exact namings -- too lazy to check) ... I even have .net 1.1 installed. I use:
SendMessage(hwndProgressbar,PBM_SETMARQUEE ,TRUE,500);
toll ... für ihn den die "Lösung" rückt er nicht raus ... aber irgendwas mit SetWindowLongPtr(..) ???Actually i figured it out...Turns out since i had the progress bar as a resource instead of using the CreateWindowEx(..) i had to use SetWindowLongPtr(..) to set the PBS_MARQUEE style for this control...now it works Yipeee to me!
kommt mir doch irgendwie bekannt vor ... woher kenne ich das bloss ... ?GetWindowLong, or SetWindowLong.
Code: Alles auswählen
FUNCTION SetWindowLayered(hWnd,lActive)
LOCAL lExStyle := GetWindowLongA(hWnd,GWL_EXSTYLE)
SetDefault(lActive,.T.)
IF lActive
IF !(lExStyle $ WS_EX_LAYERED)
lExStyle := lExStyle+WS_EX_LAYERED
SetWindowLongA(hWnd,GWL_EXSTYLE,lExStyle)
ENDIF
ELSE
IF (lExStyle $ WS_EX_LAYERED)
lExStyle -= WS_EX_LAYERED
SetWindowLongA(hWnd,GWL_EXSTYLE,lExStyle)
ENDIF
ENDIF
RETURN (NIL)
also ich lese das so, dass der Austausch der aufgerufenen Fensterfunktion:AUGE_OHR hat geschrieben:toll ... für ihn den die "Lösung" rückt er nicht raus ...Actually i figured it out...Turns out since i had the progress bar as a resource instead of using the CreateWindowEx(..) i had to use SetWindowLongPtr(..) to set the PBS_MARQUEE style for this control...now it works Yipeee to me!
ich bezog mich auf das Zitat vom "Microsoft MVP Visual Basic" Mann siehebrandelh hat geschrieben: Warum SENDMESSAGE nicht funktionieren soll, kann ich aber nicht verstehen, das ist doch die zentrale Funktion in Windows, das doch voll auf messages aufgebaut ist oder ?
Ich kann mir höchsten vorstellen, dass eine Nachricht als solche jetzt nicht mehr oder nicht mehr gleich reagiert.
aber die 6.0 sind komplett neu geschrieben und greifen nicht auf die 5.x DLL zu.Windows Common Controls 6.0 (included with VB6) is its own implementation of
the common controls and is not dynamically linked to the Common ControlsDLL.
hier hat er sich unglücklich ausgedrückt, aber es kann nur bedeuten:Therefore, APIs (messages, event notifications, etc.) may or may not work
with it. It just depends on whether these were written into the OCX.
das ist jetzt interessant.For any message, etc. that is specific to WinXP and later, you'll have
to be sure to use a manifest so the 6.0 version of the DLL is used.
das ganze Thema läuft zwar ziemlich an mir vorbei, aber das kann nun definitiv nicht sein! Copy&Paste-Fehlerbrandelh hat geschrieben:MSCOMCTL.OCX (6.1.97.86) -> c:\windows\system32
MSCOMCTL.OCX (6.1.97.82) -> c:\windows\system32
Hallo Martin,Martin Altmann hat geschrieben:Moin Hubert,das ganze Thema läuft zwar ziemlich an mir vorbei, aber das kann nun definitiv nicht sein! Copy&Paste-Fehlerbrandelh hat geschrieben:MSCOMCTL.OCX (6.1.97.86) -> c:\windows\system32
MSCOMCTL.OCX (6.1.97.82) -> c:\windows\system32
Viele Grüße,
Martin
ok also noch mal kurz das "Problem" :Martin Altmann hat geschrieben: das ganze Thema läuft zwar ziemlich an mir vorbei ...
Code: Alles auswählen
hwndPB := oProgress:hWnd
SendMessageA(hwndPB, PBM_SETBARCOLOR, 0,;
AutomationTranslateColor( GraMakeRGBColor({076,254,076}),.F.) )
noch nicht, aber spätestens wenn du den "Servicel Level 1" bekommst hast, "siehst" duMartin Altmann hat geschrieben: Ich meinte eher, dass es mich derzeit nicht betrifft und ich dem deshalb keine größere Aufmerksamkeit schenke.
Code: Alles auswählen
UseVisualStyle := .F.
wenn ich Martin recht verstanden habe, hat er im Programm entweder ein reines Web-Frontend bzw.AUGE_OHR hat geschrieben:hi,noch nicht, aber spätestens wenn du den "Servicel Level 1" bekommst hast, "siehst" duMartin Altmann hat geschrieben: Ich meinte eher, dass es mich derzeit nicht betrifft und ich dem deshalb keine größere Aufmerksamkeit schenke.
das "Problem", das deine Xbase++ Application auf einmal optisch "sch..se" aussieht !
Das "verdanken" wir ja nun Alaska die "endlich" auf "visual Style" gekommen sind.
Doch was nützt dir das ganze wenn du VISTA als OS() hast und du auch mit "visual Style"
nichts machen kannst weil Alaska es nicht unter VISTA zum laufen bekommt und behauptet
es ginge nicht ?
mal sehen wie lange du Antwort bekommstAUGE_OHR hat geschrieben: Was ich nun brauche ist Hilfe um die These weiter zu untermauern und dazu hab ich auch im
Alaska Forum einen Thread gestartet. Ich muss es also erstmal "schaffen" um dann Alaska mit
der Frage zu konfrontieren "das da was fehlt" und ggf. des "Beweis" antreten zu können.
ich hatte doch gar nicht behauptet, dass du keine GUI hättestMartin Altmann hat geschrieben:Hey,
... (und Hubert, ich rede jetzt von meiner GUI-Anwendung - nicht die Webimplementation, da ist das eh' egal!) ...
aber auch die beiden können nicht "zaubern" und wenn die Schnittstelle in Xbase++ nichtMartin Altmann hat geschrieben: aber da ich ja auch XClass++ nutze, partizipiere ich da ja enorm von den Anstrengungen, die Dieter und Marcus unternehmen
Kein XbpToolbar() ? Kein XbpStatusbar() ?Martin Altmann hat geschrieben: ActiveX nutze ich bisher nur in Form des eingebundenen Office-Assistenten
yup! Oder auch: "Geht nicht" heißt "will nicht"!AUGE_OHR hat geschrieben:... geht nicht gibt es nicht
... wie ... muss ich schon wieder "ran"Martin Altmann hat geschrieben: Mach' ruhig so weiter - haben wir doch schon einen schönen Vortrag für unser geplantes IdXF++-Treffen
offtopic : irgendwie habe ich vorhin den Connect verloren und ich dachte naja die Msg ist weg.The main focus of this service level is to add support for the
Windows Vista and Windows Service 2008 platforms to Xbase++.