31. december 2000 - 14:19Der er
19 kommentarer og 1 løsning
Listbox med Transparent- eller billedbaggrund
Hejsa allesammen, er der nogen der har et komponent hvori man kan lave en listbox der enten har en Transparent baggrund eller sådan at man bare kan indsæte et billede som baggrund!!!!!
procedure TTransparentMemo.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do begin ExStyle:=ExStyle or WS_EX_TRANSPARENT and not WS_EX_WINDOWEDGE and not WS_EX_STATICEDGE and not WS_EX_DLGMODALFRAME and not WS_EX_CLIENTEDGE; end; end; procedure Register; begin RegisterComponents(\'Samples\', [tTransparentMemo]); end;
procedure TTransparentListBox.CNCTLCOLORLISTBOX(var Message:TWMCTLCOLORLISTBOX); begin with Message do begin SetBkMode(ChildDC,TRANSPARENT); Result:=GetStockObject(HOLLOW_BRUSH) end end; procedure TTransparentListBox.WMSetText(var Message:TWMSetText); begin inherited; if not (csDesigning in ComponentState) then PostMessage(Handle,TMWM__SpecialInvalidate,0,0) end; procedure TTransparentListBox.SpecialInvalidate(var Message:TMessage); var r:TRect; begin if Parent<>nil then begin r:=ClientRect; r.TopLeft:=Parent.ScreenToClient(ClientToScreen(r.TopLeft)); r.BottomRight:=Parent.ScreenToClient(ClientToScreen(r.BottomRight)); InvalidateRect(Parent.Handle,@r,true); RedrawWindow(Handle,nil,0,RDW_FRAME+RDW_INVALIDATE) end; end; procedure TTransparentListBox.WMKeyDown(var Message: TWMKeyDown); begin SendMessage(Handle,TMWM__SpecialInvalidate,0,0); inherited; PostMessage(Handle,TMWM__SpecialInvalidate,0,0); end; procedure TTransparentListBox.WMEraseBkgnd(var Message: TWMEraseBkgnd); begin Message.Result:=1 end;
procedure TTransparentListBox.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do begin ExStyle:=ExStyle or WS_EX_TRANSPARENT and not WS_EX_WINDOWEDGE and not WS_EX_STATICEDGE and not WS_EX_DLGMODALFRAME and not WS_EX_CLIENTEDGE; end; end;
procedure Register; begin RegisterComponents(\'Samples\', [TTransparentListBox]); end;
Ømmm nu er det ikke fordi jeg er kvart så god som jer til Delphi ;) Så ville I ikke klippe det ud i pap til mig.... Eller endnu bedre har I ikke et komponent som kan lave en transparent Listbox (Jeg er villig til at sætte points op hvis I kan finde et til mig.....) ;)
Jamen når jeg skriver koden ind i en unit skriver den: \"Error in module Unit1 Declaration of class Form1 is missing or incorrect\" ???
Men Hey gider du ikke sende det til mig på pro_doctor@hotmail.com så når jeg har modtaget det og det virker ;) så giver jeg dig bare de points (Det lover jeg - Delphi sikkert! ;) )
BorrisHolt> Der er noget galt den siger følgende hver gang jeg prøver at installere hest.pas: [Fatal Error] hest.pas(1): Line too long (more than 1023 characters)
Undskyld Borrisholt jeg glemte lige at jeg havde lagt Komponentet under Samples...... Nu skal du nok endeligt få dine længe fortjente ponts.... (TAK fordi du hjalp en fatsvag DelphiprogrammørWANNABE... ;) )
Lige inden jeg giver dig dine points.... Kan man ikke gøre det sådan at teksten er en anden farve end sort og at der ikke er en grafisk fejl når man mar half markeret en linie??????
OKay men det var jo det jeg bad om altså en transparent listform så her får du dine points.... (Men hvis du engang falder over sådan et komponent med listbox med baggrund el lign, så må du da gerne sige til eller maile ;)
Mange tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.