CreateWindowEx() Common Controls

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

"native" Common Controls

ich verstehe worum es geht
1
6%
ich beginne zu verstehen worum es geht
3
19%
ich verstehe nicht worum es geht
3
19%
ich kann solche Controls gebrauchen
6
38%
ich kann nicht mit solchen Controls anfangen
3
19%
 
Insgesamt abgegebene Stimmen: 16

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

hier nun ein native TreeView Demo
1st Versuch
1st Versuch
TreeView1.JPG (22.75 KiB) 9358 mal betrachtet
Icons sind noch nicht eingebaut, dazu muss ich "nur" die ImageList "aktivieren"

ein native TreeView ist ebenfalls Ownerdraw und Customdraw fähig was XbpTreeView() fehlt.
hier nun der erste Versuch ...
DXE_TREE.ZIP
native TreeView mit ot4xb
(229.43 KiB) 323-mal heruntergeladen
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

AUGE_OHR hat geschrieben:ein native TreeView ist ebenfalls Ownerdraw und Customdraw fähig
Korrektur
Pablo hat geschrieben:Treeview not using WM_MEASUREITEM/WM_DRAWITEM but send instead
NM_CUSTOMDRAW notifications ( inside a WM_NOTIFY message) to the parent
window, and you can use TVM_SETITEMHEIGHT message and iIntegral member
of the TVITEM struct to specify the height of all or individual items.
damit wäre es kein Ownerdraw Control im Sinne des Wettbewerbs für die Devcon 2012.

was man mit NM_CUSTOMDRAW nun machen könnte zeigt das Demo von Pablo
da das Demo XbpTreeView() benutzt benötigt man noch MsComCtl.OCX
Astro_SubClass.JPG
Astro_SubClass.JPG (44.27 KiB) 9335 mal betrachtet
Dateianhänge
SubclassXbpTreeView.zip
benötigt ot4xb LIB und MsComCtl.OCX
nur *.PRG und *.OBJ
(577.84 KiB) 330-mal heruntergeladen
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

falls es jemanden interessiert ich habe bei Pablo den Thread
http://www.xbwin.com/forum.html

LVS_OWNERDRAWFIXED
ot4xb.public
2. September 2011

gestartet was dann so aussehen könnte
ListView_Ownerdraw_Step1.JPG
ListView_Ownerdraw_Step1.JPG (113.87 KiB) 9311 mal betrachtet
allerdings bin ich dabei auf einen "BUG" in der "original" Source von xbp_listview.prg gestossen weswegen ab der 2nd Columne die Anzeige falsch ist.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

das Macro lv_GetItemText() von Pablo funktioniert nicht

Code: Alles auswählen

//
      // hm ... Macro "nSub" seems not to work ?
      //
      cItemText := ::lv_GetItemText(::oDrawItemStruct:itemID,i)


INLINE METHOD lv_GetItemText(n,nSub,cb)  // -> cText
       local item   := AFill(Array(15),0)
       local buffer,cc
       DEFAULT n    := 0
       DEFAULT nSub := 0
       DEFAULT cb   := 1024
       item[6] := buffer := _xgrab(cb)
       item[7] := cb
       cb := <LVM_GETITEMTEXT>["__sl__hw__sl__sl__pt"](n,@item)
       cc := PeekStr(buffer,,cb)
       _xfree(buffer)
       return cc
aber man kann es per DLL Call machen

Code: Alles auswählen

      nRet := @user32:SendMessageA(::hlv          ,;
                                   LVM_GETITEMTEXT,;
                                   ::oDrawItemStruct:itemID   ,;
                                   @oLVItem )
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

so nun habe ich in ListView ein "scrollbares" Bitmap eingefügt.

da dass Bitmap kleiner als die Anzahl sichtbarer Items ist kann man bei scrollen die ListView:BkColor sehen
die "ich" NICHT auf CLS_NONE setzen darf weil ich dann so was beim scrollen erhalte.
Listview_Ownerdraw_Step3.JPG
Listview_Ownerdraw_Step3.JPG (247.65 KiB) 9283 mal betrachtet
wobei ich nach einem "repaint" erst die darunter liegende o:drawingArea ( und das Logo ) "sehen" kann.
Listview_Ownerdraw_Step4.JPG
Listview_Ownerdraw_Step4.JPG (39.8 KiB) 9283 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

nach dem ListView habe ich mir mal eine ListBox vorgenommen.

die Methoden haben den selben Namen wie Xbase++ sowie die ersten "Erweiterungen" z.b. komplette Array einlesen.
hier die Demo mit 10.000 Elementen (1-2 Sec.)
DXE_ListBox.zip
"native" ListBox mit Erweiterrungen
(36.54 KiB) 323-mal heruntergeladen
am Ownerdraw arbeite ich noch wobei ich (immer) noch nicht weiss wie ich einen Presentation Space "simulieren" soll.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

hier nun die "native" ListBox mit der DlgDirList Function. http://msdn.microsoft.com/en-us/library ... 85%29.aspx
wenn ich es nun so ausrufe

Code: Alles auswählen

@User32:DlgDirListA(hWnd,cPath+"*.*" ,4711,0,;
  nOr(DDL_ARCHIVE,DDL_DIRECTORY,DDL_HIDDEN,DDL_READONLY,DDL_READWRITE,DDL_SYSTEM) )
liest er mir alle Filenamen in die Listbox ... ohne weiter Befehle !!!
&quot;native&quot; ListBox mit API DlgDirList() füllen
"native" ListBox mit API DlgDirList() füllen
Dir_ListBox.JPG (39.04 KiB) 9242 mal betrachtet
ok, man muss dazu Ownerdraw benutzen um die Items darzustellen aber da ich auch die Fileicons anzeige brauche ich das sowieso.

trotzdem ist es extrem schnell ... schneller als Windows Explorer :iroc:
dxe_LDIR.zip
(266.91 KiB) 300-mal heruntergeladen
ob man die API Funktionen auch für XbParts verwenden kann ?
... im Prinzip ja ... wenn ich die "Controll ID" ( hier 4711 ) von einem XbParts raus bekommen könnte.

Nachtrag : "increment" Search ist in der Listbox ist "eingebaut", ESC "löscht" die Suche.
Verzeichnisse werden bei DlgDirList() leider mit [] angezeigt und werden in der "German" Version ganz unten angeordnet :(
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

hab was zum "spielen" mit Common Controls bei M$ gefunden : Control Spy v2.0
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Bild
der Download Link ist ganz unten aufgeführt.
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von UliTs »

Da stößt mein "Englisch" mal wieder schnell an seine Grenzen...
Kannst Du mit wenigen Worten sagen, worum es bei diesem Hilfsprogramm (?) geht?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

UliTs hat geschrieben:Da stößt mein "Englisch" mal wieder schnell an seine Grenzen...
Kannst Du mit wenigen Worten sagen, worum es bei diesem Hilfsprogramm (?) geht?
übersetzt per http://translate.google.de/
Control-Spy ist ein Tool, das Entwicklern das Verständnis gemeinsame Kontrollen hilft: Wie Stile für sie gelten und wie sie die Nachrichten und Meldungen zu reagieren. Mit Control-Spy, können Sie sofort sehen, wie verschiedene Stile das Verhalten und Aussehen der einzelnen Steuerelemente beeinflussen, und auch, wie Sie den Status der einzelnen Kontrolle durch das Senden von Nachrichten ändern.
ansonsten bei M$ downloaden und damit "spielen" ;)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

benötigt jemand, der nicht das XbPack Nr.2 besitzt, einen "native" Progressbar ?
bei Interesse würde ich den in die Wissensbasis stellen.
&quot;native&quot; progressbar mit ot4xb / Win 7
"native" progressbar mit ot4xb / Win 7
W7_Progressbar.jpg (61.91 KiB) 9088 mal betrachtet
&quot;native&quot; progressbar mit ot4xb / XP
"native" progressbar mit ot4xb / XP
Progressbar_ot4xb.JPG (42.95 KiB) 9088 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von brandelh »

Sieht gut aus, bestimmt gibt es einige die hierfür Bedarf haben. :wink:
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Sieht gut aus, bestimmt gibt es einige die hierfür Bedarf haben. :wink:
ich habe bei Pablo "die" Version auf seine Website gestellt. http://www.xbwin.com/forum.html unter "public"

ich habe nun, als Option, eine % Anzeige "im" Progressbar eingebaut.
leider bekomme ich den Background nicht "transparent" ... er ist mal wieder "black"
Progressbar_Percent.JPG
Progressbar_Percent.JPG (46.2 KiB) 9060 mal betrachtet
deshalb wird es noch ein wenig dauern bis ich das neuste Upgrade "erprobt" habe und es in die Wissensbasis stelle mit dem "Futures".
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

so, nun hab ich es mit Pablo´s Hilfe doch so hin bekommen wie ich es wollte.
Progress_WM_PAINT.jpg
Progress_WM_PAINT.jpg (66.9 KiB) 9028 mal betrachtet
nun muss ich noch den Demo Source dokumentieren und dann kann ich es in die Wissensbasis stellen.

p.s. schwarz / rot sieht hier im JPG unscharf aus, ist aber ok
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

bei Mirco´s Problem > 2GB DBF Datei habe ich a 100000 Sätze kopiert ... das dauert ...
eine Anzeige wäre schön, aber COPY TO hat kein EVAL() ...

so geht es trotzdem

Code: Alles auswählen

#define PBS_MARQUEE       0x08
#define PBS_SMOOTH        0x01
#define PBS_NORMAL        0x00

PROCEDURE MAIN(cFile)
LOCAL oProgress
LOCAL aPOS     := {0,0}
LOCAL aSIZE    := {0,0}
LOCAL aPP      := {}
LOCAL xMax     := 0
LOCAL xScale   := 0
LOCAL nValue   := 0
LOCAL nEvery   := 100
LOCAL i        := 0
LOCAL cNewDbf  := "TEMP$$$.DBF"

   IF PCOUNT() > 0
      IF !FILE(cFile)
         ALERT("File "+cFile+" not found")
         QUIT
      ENDIF
   ELSE
      ALERT("need DBF Name")
      QUIT
   ENDIF

   USE &(cFile) EXCLUSIVE

   xMax     := Lastrec()
   nEvery   := INT(xMax/100)
   xScale   := xMax*nEvery                   // Scale to 100%

   aSIZE    := SetAppWindow():currentSize()
   aSIZE[2] := 20

   oProgress := DXE_ProgressBar():New( SetAppWindow(),, aPOS, aSIZE,aPP )
   //
   // NEED visual Style and XP Manifest !!!
   //
   oProgress:UseVisualStyle   := .T.
   oProgress:UsePercent       := .T.
   oProgress:Create()
   //
   // assign after create
   //
   oProgress:Style            := PBS_SMOOTH
   oProgress:Minimum          := 0
   oProgress:Maximum          := xMax
   oProgress:nScaleMax        := xScale
   oProgress:Increment        := nEvery

   oProgress:SetData( 1 )                        // start here
   CLS
   ? ""
   ? "copy from "+cFile+" to "+cNewDbf+" NEXT "+LTRIM(STR(xMax))

   // im FOR Block ausführen
   COPY TO &(cNewDbf) FOR FORproggress(oProgress,nEvery,i++) NEXT xMax VIA "DBFNTX"

   CLOSE
   oProgress:destroy()

   ? ""
   ? "FERASE("+cNewDbf+") "
   FERASE(cNewDbf)
   ? ""
   WAIT
RETURN

FUNCTION FORproggress(oProgress,nEvery,i)
LOCAL nValue := i
   IF ((nValue) % (nEvery)) == 0
      nValue := oProgress:GetData()
      nValue += nEvery
      oProgress:SetData( nValue )
   ENDIF
RETURN .T.

*
*eof
*
siehe dazu auch http://www.xbaseforum.de/viewtopic.php?f=16&t=5926
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von brandelh »

AUGE_OHR hat geschrieben:p.s. schwarz / rot sieht hier im JPG unscharf aus, ist aber ok
JPG ist für Fotos das beste Format (zufällige Farbverteilung), bei Grafiken und Bildschirmhardcopys ist PNG besser :!:
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,

seit der Devcon hab ich nicht so viel mit "native" Controls gemacht.
nach dem letzten "Patch-Day" wurden wir ja wieder an MsComCtl.OCX erinnert.

die DXE_Toolbar v0.19 müsste nun die notwendigsten Dinge schon können.
TbInfoA_MyStruc.PNG
TbInfoA_MyStruc.PNG (3.79 KiB) 8892 mal betrachtet
es fehlen noch 4 Methoden :

Code: Alles auswählen

METHOD DXE_Toolbar:restoreToolbar( cKey, cSubKey )
METHOD DXE_Toolbar:saveToolbar( cKey, cSubKey )
METHOD DXE_Toolbar:configure()
METHOD DXE_Toolbar:customize()
die beiden ersten erfordern Registry Zugriffe und beim o:customize() werde ich wohl nicht viel machen ( zu viel Aufwand ... )

zusätzlich hab ich nun die DXE_Rebar in der v0.04 released. erstaunlich wenig Aufwand aber noch nicht "Perfekt" hier ein Snapshot
Rebar04_XbParts.PNG
Rebar04_XbParts.PNG (14.24 KiB) 8892 mal betrachtet
und hier ein Ausschnitt aus dem Demo Code dazu

Code: Alles auswählen

METHOD TbDialog:CreateToolbar(nHeight,cDLL)
LOCAL aSize   := ::DrawingArea:CurrentSize()
LOCAL hModule
LOCAL oButton
LOCAL aFonts
LOCAL aFontNames
LOCAL aFontSizes
LOCAL lExact
LOCAL nCont,nLen
LOCAL aPos    := {2,0}
LOCAL aParts  := {}
LOCAL aItem   := {}
LOCAL oGroup
LOCAL oBtn
LOCAL nNo
LOCAL aBtnPos := {0,0}
LOCAL cString

DEFAULT nHeight TO ReBarSmallHeight

   IF VALTYPE(nHeight) = "N"
      aPos[2] := aSize[2] -nHeight
      aSize[2] := nHeight
   ELSE
      Msgbox("Error Parameter"+VAR2CHAR(nHeight))
      RETURN self
   ENDIF

   IF ValType(cDLL) == "C"
      hModule := GetModuleHandleA( cDLL )
   ELSE
      hModule := GetModuleHandleA( 0 )
   ENDIF

   ::oRebar    := DXE_ReBar():New(::DrawingArea,,aPos,aSize)
   ::oRebar:create()

   //
   // put all Button on same parent
   //
   oGroup := XbpStatic():New(::oRebar,,{0,0},{12*33,nHeight})
   oGroup:create()

   FOR nNo := 1 TO 12
      oBtn  := XbpPushButton():new(oGroup,,aBtnPos,{32,32})
      oBtn:caption := "F"+LTRIM(STR(nNo))
      oBtn:create()
      cString := "{|| Msgbox( 'Pushbutton "+LTRIM(STR(nNo)) +"' ) }"
      oBtn:activate:= &cString
      aBtnPos[1] += 33
   NEXT

   aItem    := ARRAY(7)
   aItem[ _XbObject   ] := oGroup
   aItem[ _Hidetitle  ] := RBBS_HIDETITLE
   aItem[ _UseGripper ] := RBBS_GRIPPERALWAYS // RBBS_NOGRIPPER
   aItem[ _UseText    ] := ""
   aItem[ _ObjHandle  ] := oGroup:getHWND()
   aItem[ _UseSize    ] := {32,32}          // minimum to show x,y
   aItem[ _UseWide    ] := aSize[1]-(3*100) // show max possible
*  aItem[ _UseWide    ] := 100
   AADD(aParts,aItem)

   //
   // XbpComboBox() oFontName
   //
   ::oFontName         := XbpComboBox():new(::oRebar, , {  8,-150}, {232,172}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } ,.T.)
   ::oFontName:tabstop := .T.
   ::oFontName:border  := .F.
   ::oFontName:create()

   aItem    := ARRAY(7)
   aItem[ _XbObject   ] := ::oFontName
   aItem[ _Hidetitle  ] := -1
   aItem[ _UseGripper ] := RBBS_GRIPPERALWAYS
   aItem[ _UseText    ] := "Font"
   aItem[ _ObjHandle  ] := ::oFontName:getHWND()
   aItem[ _UseSize    ] := {100,32}          // minimum x,y
   aItem[ _UseWide    ] := 100
   AADD(aParts,aItem)

   aFonts := XbpFont():new( ::DrawingArea:lockPS() ):list()
   ::DrawingArea:unlockPS()
   aFontNames:= {}
   AEval( aFonts, {|o| IF( AScan( aFontNames, o:familyName ) == 0, ;
                           AAdd( aFontNames, o:familyName ), nil ) } )
   lExact:= Set( _SET_EXACT, .T. )
   aFontNames:= ASort( aFontNames )
   Set( _SET_EXACT, lExact )
   nLen:= Len( aFontNames )
   FOR nCont:= 1 TO nLen
      ::oFontName:addItem( aFontNames[ nCont ] )
   NEXT
   ::oFontName:setdata("Arial")
   ::oFontName:itemSelected := {|u1,u2,oSelf| Msgbox(oSelf:getItem(oSelf:getData()[1])) }

   //
   // XbpComboBox() oFontSize
   //
   ::oFontSize         := XbpComboBox():new(::oRebar, , {244,-150}, { 56,172}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } ,.T.)
   ::oFontSize:tabstop := .T.
   ::oFontSize:border  := .F.
   ::oFontSize:create()

   aFontSizes:= { '8', '10', '12', '14', '18', '24', '36' }
   nLen:= Len( aFontSizes )
   FOR nCont:= 1 TO nLen
      ::oFontSize:addItem( aFontSizes[ nCont ] )
   NEXT
   ::oFontSize:setdata("10")
   ::oFontSize:itemSelected := {|u1,u2,oSelf| Msgbox(oSelf:getItem( oSelf:getData()[1]) ) }

   aItem    := ARRAY(7)
   aItem[ _XbObject   ] := ::oFontSize
   aItem[ _Hidetitle  ] := -1
   aItem[ _UseGripper ] := RBBS_GRIPPERALWAYS
   aItem[ _UseText    ] := "Size"
   aItem[ _ObjHandle  ] := ::oFontSize:getHWND()
   aItem[ _UseSize    ] := {100,32}          // minimum x,y
   aItem[ _UseWide    ] := 100
   AADD(aParts,aItem)

   // pass all to Rebar 
   ::oRebar:AddPart(aParts)

   SetappWindow(::oRebar)
   SetappFocus(::oRebar)

RETURN
benötigt "lates" ot4xb ( wegen Common Controls Structure ) beides zu finden bei Pablo unter :
http://www.xbwin.com
ot4xb.public
gruss by OHR
Jimmy
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von CRT »

Also das erste Beispiel in diesem thread tut genau gar nichts und muss mit dem Taskmanager eliminiert werden.
Schade um die Mühe, wenn das ganze unvollständig und daher unbrauchbar ist!
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von UliTs »

CRT hat geschrieben:... Schade um die Mühe, wenn das ganze unvollständig und daher unbrauchbar ist!
Den Satz kannst Du Dir sparen :evil: .
Du kannst auch nett darauf hinweisen. Jimmy prüft deine Aussage sicher gern nach. Und wenn es bei ihm weiterhin funktionieren sollte, kommen bestimmt Nachfragen ...

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Re: CreateWindowEx() Common Controls

Beitrag von CRT »

Sollte er meinen Kommentar als beleidigend empfinden tut mir das leid, weil es nicht so gemeint ist.
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: CreateWindowEx() Common Controls

Beitrag von AUGE_OHR »

hi,
CRT hat geschrieben:Also das erste Beispiel in diesem thread tut genau gar nichts und muss mit dem Taskmanager eliminiert werden.
bin mir jetzt nicht sicher welches Beispiel zu meinst ?
Ich habe die ganzen Controls ja in der DXE LIB zusammengefasst. Versuche das gewünschte Controls mit der DXE LIB bitte nochmal.
CRT hat geschrieben:Schade um die Mühe, wenn das ganze unvollständig und daher unbrauchbar ist!
Ich habe von der letzten Devcon noch ein Referat wie man solche "native" Controls mit ot4xb macht.
für die DXE LIB habe ich mit diversen Demo Sourcen angefertigt die ich während des Vortrag vorgeführt habe.

! wenn jemand wirklich am DXE LIB Source interessiert ist möge er mir eine Email schicken !
gruss by OHR
Jimmy
Antworten