Forum | | | | - page 1 - |
|  Rainer Hoefs | Salut,
suis verzweifelt am chercher de Befehlen um une certain Eintrag dans einer Gridbox comme den Obersten dans qui Box Montrer trop laisser.
Ebenso voudrais je savons quel Eintrag pour dem Scrollen eh bien comme oberster dans qui gridbox gezeigt wird.
rien quoi je trouvé habe funktioniert chez mir.
und dir dabei um folgendes:
dans qui GridBox volonté Farben aufgelistet. chacun la ligne hat cet Felder: nom, Nr, Rotwert, Grünwert, Blauwert. Es volonté 16 Zeilen gezeigt.
à gauche de qui Gridbox ist avant chacun la ligne un champ, dans dem qui la couleur comme le ton gezeigt wird. qui RGB-Werte qui 16 ersten Zeilen volonté gelesen et qui Farbfelder gezeichnet. cela funktioniert pour dem Initialisieren correcte. eh bien wird mais gescrollt, et qui 16 Felder doit récente teinté volonté.
en supplément besoin je une Funktion à aktuell trop colonel gezeigten la ligne trop markieren et en index trop ermitteln. ensuite volonté qui eh bien angezeigten 16 Zeilen gelesen et qui Felder eingefärbt.
si je avec den Pfeiltatsten Hoch et Runter ou bien avec BildHoch et BildRunter den poutre verschiebe, comment bekomme je qui la ligne qui ensuite aktuell markiert ist?
Gibt es irgendwo qui Possibilité sur un GridBoxChanged?
peut-être peux mir quelqu'un aider.
merci d'avance!
Rainer |
| | | | |
| | | | - page 2 - |
|  | « cette Beitrag wurde comme Solution gekennzeichnet. » | | - page 2 - |
|  Rainer Hoefs |  Salut,
ici cela Ergebnis, welches avec Eurer Aider erreicht wurde.
merci nochmals
Rainer
'***********************************************************************************
$H Messages.ph
$H Windows.ph
$H commctrl.ph
'***********************************************************************************
Def GetSysColor(1) !"User32","GetSysColor"
Def CreateBitmap(5) !"GDI32","CreateBitmap"
Def SelectObject(2) !"GDI32","SelectObject"
Def Show(1) ShowWindow(@&(1), 1)
Def Hide(1) ShowWindow(@&(1), 0)
Déclarer R%[], G%[], B%[], Txt$[], ColNum$[], I%, Modify%
Déclarer Red&, Green&, Blue&, ColNum%, ColDesription$, SumColors%, GridboxString$
Déclarer Lv#, icolist&
Var Ende% = 0
struct Lv = Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&
dim Lv#,Lv
'***********************************************************************************
Proc LvSetIcon
Lv#.Item&=&(2)
Lv#.SubItem&=&(3)
Lv#.Mask&=~LVIF_IMAGE
Lv#.Image&=%(4)
sendmessage(&(1),~LVM_SETITEM,0,Lv#)
ENDPROC
'***********************************************************************************
Proc DrawRGBEdit
Début de peinture %hwnd
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(255, 0,0)
Rectangle 262,510,362,545
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(0, 255,0)
Rectangle 382,510,482,545
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(0, 0, 255)
Rectangle 504,510,604,545
EndPaint
ENDPROC
'***********************************************************************************
Proc DrawEmptySelection
Début de peinture %hwnd
USEP 0,3, Rgb(127,127,127)
UseBrush 1, Rgb(255, 255, 255)
Rectangle 526,32,610,378
USEP 5,0, Rgb(127, 127, 127)
UseBrush 1, Rgb(127, 127, 127)
Rectangle 528,149,609,378
USEP 5,0, Rgb(0, 0, 0)
UseBrush 1, Rgb(0, 0, 0)
Rectangle 528,264,609,378
EndPaint
ENDPROC
'***********************************************************************************
Proc GetDetailsfromString
ColNum% = Val(Mid $(GridBoxStr$, 2, 6))
ColDesription$ = Mid $(GridBoxStr$, Len(GridBoxStr$)-51, 40)
Red& = Int(Val(Mid $(GridBoxStr$, Len(GridBoxStr$)-10, 3)))
Green& = Int(Val(Mid $(GridBoxStr$, Len(GridBoxStr$)-6,3)))
Blue& = Int(Val(Right$(GridBoxStr$, 3)))
ENDPROC
'***********************************************************************************
Proc ShowSelectedColor
GetDetailsfromString
Début de peinture %hwnd
USEP 5,3, Rgb(0,0,0)
UseBrush 1, Rgb(Red&, Green&, Blue&)
Rectangle 540,44,598,368
EndPaint
SetSelectedColor
ENDPROC
'***********************************************************************************
Proc CreateNewColorList
Beep
Assign #1,"C:\ColorList.Dat"
Réécriture #1
I% = 0
WhileNot I% = 256
R%[I%] = Tour(256)
G%[I%] = Tour(256)
B%[I%] = Tour(256)
ColNum$[I%] = Format $("000000",I%)
Txt$[I%] = ColNum$[I%]+"|"+ColNum$[I%]+"|"+$ MkStr("Bemerkung-",4)+"|"+Format $("000",R%[I%])+"|"+Format $("000",G%[I%])+"|"+Format $("000",B%[I%])
Imprimer #1, Txt$[I%]
Inc I%
Endwhile
Fermer #1
Claire R%[], G%[], B%[]
ENDPROC
'***********************************************************************************
Proc ReadTheColorList
Var RT$ = »
Claire ColNum$[], Txt$[], R%[], G%[], B%[]
Assign #1,"C:\ColorList.Dat"
Reset #1
I% = 0
WhileNot Eof(#1)
Contribution #1, RT$
ColNum$[I%] = Val(Mid $(RT$, 2, 6))
Txt$[I%] = Mid $(RT$, Len(RT$)-51, 40)
R%[I%] = Int(Val(Mid $(RT$, Len(RT$)-10, 3)))
G%[I%] = Int(Val(Mid $(RT$, Len(RT$)-6,3)))
B%[I%] = Int(Val(Right$(RT$, 3)))
addstring(ColorGridbox&, RT$)
Inc I%
SumColors% = I%
RT$ = »
Endwhile
Fermer #1
ENDPROC
'***********************************************************************************
Proc MakeColorBitmaps
Paramètres R%, G%, B%
Déclarer x&, y&
x& = CreateBitmap(94,20,1,1,0)
MCLS 94,20
Début de peinture -1
Cls
USEP 0,1,RGB(1,0,0)
UseBrush 1, Rgb(R%, G%, B%)
Rectangle 0,0 - 94,20
y& = SelectObject(%hdc,x&)
ImageList("Add", icolist&, y&, 0)
EndPaint
ENDPROC
'***********************************************************************************
Proc MakeColorFields
icolist& = Créer("ImageList", 94,20,33,0)
sendmessage(ColorGridbox&,~LVM_SETIMAGELIST,~LVSIL_SMALL,IcoList&)
I% = 0
WhileNot I% = SumColors%
MakeColorBitmaps R%[I%], G%[I%], B%[I%]
LvSetIcon(ColorGridbox&,I%,0,I%)
Inc I%
Endwhile
ENDPROC
'***********************************************************************************
Proc ShowColorEditor
Paramètres Status%
Si Status% = 1
EnableWindow ColorEditor&, 0
EnableWindow Ende&, 0
SetWindowPos %hwnd = %winleft, %wintop - Width(%hwnd,1), Height(%hwnd,1) + 160
D'autre
EnableWindow ColorEditor&, 1
EnableWindow Ende&, 1
Cas (Modify% = 1) : Modify% = 0
EnableWindow ModifyEd&, 1
SetWindowPos %hwnd = %winleft, %wintop - Width(%hwnd,1), Height(%hwnd,1) - 160
EndIf
ENDPROC
'***********************************************************************************
Proc SetSelectedColor
GetDetailsfromString
SetText ColNumEd&, Str$(ColNum%)
SetText ColNameEd&, ColDesription$
SetText RedEd&, Str$(Red&)
SetText GreenEd&, Str$(Green&)
SetText BlueEd&, Str$(Blue&)
ENDPROC
'***********************************************************************************
Proc ClearTheFields
SetText ColNumEd&, »
SetText ColNameEd&, »
SetText RedEd&, »
SetText GreenEd&, »
SetText BlueEd&, »
ENDPROC
'***********************************************************************************
Proc ShowMeColor
Paramètres Col%
Déclarer Found%
SetFocus(ColorGridbox&)
Found% = Sélectionnez String(ColorGridbox&,Col%,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
ENDPROC
'***********************************************************************************
Proc SaveTheColor
Déclarer Question$
Var ColNum$ = $ MkStr("0",(6 - Len(GetText $(ColNumEd&)))) + GetText $(ColNumEd&)
Var ColDesription$ = GetText $(ColNameEd&) + Space$(40 - (Len(GetText $(ColNameEd&))))
Var Red$ = $ MkStr("0",(3 - Len(GetText $(RedEd&)))) + GetText $(RedEd&)
Var Green$ = $ MkStr("0",(3 - Len(GetText $(GreenEd&)))) + GetText $(GreenEd&)
Var Blue$ = $ MkStr("0",(3 - Len(GetText $(BlueEd&)))) + GetText $(BlueEd&)
Var SaveString$ = ColNum$+"|"+ColNum$+"|"+ColDesription$+"|"+Red$+"|"+Green$+"|"+Blue$
Var Position% = GetCurSel(ColorGridbox&)
Si Modify% = 1
Si Messagebox("Wollen vous qui la couleur avec qui numéro: "+GetText $(ColNumEd&)+" wirklich changement?","ACHTUNG!",292) = 6
DeleteString(ColorGridbox&,Position%)
InsertString(ColorGridbox&,Position%,SaveString$)
UpdateGridBox
ModifyColor 0
Sélectionnez String(ColorGridbox&,Position%,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
D'autre
Si Sélectionnez String(ColorGridbox&,-1,GetText $(ColNumEd&))
Si MessageBox("Die la couleur avec qui numéro: "+GetText $(ColNumEd&)+" Existe déjà\rWollen vous cet la couleur wirklich Sauver?","Doppelte Farbnummer",292) = 6
AddStrings(ColorGridbox&,SaveString$)
UpdateGridBox
ModifyColor 0
Sélectionnez String(ColorGridbox&,GetCount(ColorGridbox&)-1,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
EndIf
EndIf
ENDPROC
'***********************************************************************************
Proc SearchOneColor
Var SearchColor$ = Contribution$("Bitte trop suchende Farbnummer avec max. 6 payons eingeben:","Farbe suchen","123456")
Si Sélectionnez String(ColorGridbox&,-1,SearchColor$)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
D'autre
MessageBox("Keine la couleur avec qui numéro: "+SearchColor$+" trouvé!","Fehler chez qui Suche",48)
EndIf
ENDPROC
'***********************************************************************************
Proc DeleteTheColor
Var OK% = Messagebox("Wollen vous qui la couleur avec qui numéro: "+GetText $(ColNumEd&)+" wirklich effacer?","ACHTUNG!",292)
Si OK% = 6
DeleteString(ColorGridbox&,GetCurSel(ColorGridbox&))
UpdateGridBox
Sélectionnez String(ColorGridbox&,0,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
ENDPROC
'***********************************************************************************
Proc UpdateModifiedColor
Début de peinture %hwnd
USEP 5,3, Rgb(0,0,0)
UseBrush 1, Rgb(Val(GetText $(RedEd&)), Val(GetText $(GreenEd&)), Val(GetText $(BlueEd&)))
Rectangle 540,44,598,368
EndPaint
ENDPROC
'***********************************************************************************
Proc ModifyColor
Paramètres Mode%
Si Mode% = 1
EnableWindow ModifyEd&, 0
Modify% = 1
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
D'autre
EnableWindow ModifyEd&, 1
Modify% = 0
EndIf
ENDPROC
'***********************************************************************************
Proc UpdateGridBox
Hide(ColorGridbox&)
ReWriteColorDataFile
ClearList ColorGridbox&
ReadTheColorList
MakeColorFields
Show(ColorGridbox&)
ENDPROC
'***********************************************************************************
Proc ReWriteColorDataFile
Var ColorEntries% = GetCount(ColorGridbox&)
Assign #2,"C:\ColorList.Dat"
Réécriture #2
I% = 0
WhileNot I% = ColorEntries%
Imprimer #2, GetString$(ColorGridbox&, I%)
Inc I%
Endwhile
Fermer #2
ENDPROC
'***********************************************************************************
'** Hauptschleife
'***********************************************************************************
cls GetSysColor(15)
Fenêtre Style 10 | 512 | 2048
Titre de la fenêtre "Arbeitsfenster"
Fenêtre ((%maxx-644)/2), 100 - 644,500
Set("Truecolor",1)
var Spalten$ = "Farbe;0;98;WollfarbNr.;1;80;Bemerkung;0;298;R;1;40;G;1;40;B;1;40"
var ColorGridbox& = create("Gridbox",%hwnd,Spalten$,0,10,10,500,380)
Var GridBoxStr$ = »
Var GrBx& = Créer("GroupBox",%hwnd,"Auswahl",518,10,100,382)
Var Ende& = Créer("Button",%hwnd,"&Ende", 10,400,100,30)
Var ColorEditor& = Créer("Button",%hwnd,"&Farbeditor", 515,400,100,30)
'**** Beginn Farbeditor ************************************************************
Var GrBxEd& = create("Groupbox", %hwnd, "Farbeditor", 1, 455, 626,12)
Créer("Text",%hwnd,"Farbnummer:",20,477,90,24) : Var ColNumEd& = Créer("Edit", %hwnd, "12346", 110,475,50,24)
Créer("Text",%hwnd,"Farbname:",180,477,80,24) : Var ColNameEd& = Créer("Edit", %hwnd, "12346", 260,475,345,24)
DrawRGBEdit
Créer("Text",%hwnd,"Farbwerte pour rouge - vert - bleu:",50,517,200,24)
Var RedEd& = Créer("SpinEdit",%hwnd, "0;0;255",280,515,60,24)
Var GreenEd& = Créer("SpinEdit",%hwnd, "0;0;255",402,515,60,24)
Var BlueEd& = Créer("SpinEdit",%hwnd, "0;0;255",524,515,60,24)
Var EndeEd& = Créer("Button",%hwnd,"Beenden", 10,555,70,30)
Var ClearEd& = Créer("Button",%hwnd,"Felder leeren", 96,555,100,30)
Var SearchEd& = Créer("Button",%hwnd,"Farbe suchen", 212,555,100,30)
Var DeleteEd& = Créer("Button",%hwnd,"Farbe löschen", 313,555,100,30)
Var ModifyEd& = Créer("Button",%hwnd,"Farbe ändern", 414,555,100,30)
Var SaveEd& = Créer("Button",%hwnd,"Farbe sichern", 515,555,100,30)
'**** Ende Farbeditor **************************************************************
ShowWindow(ColorGridbox&,0)
DrawEmptySelection
Casenote FileExists("C:\ColorList.Dat") : CreateNewColorList
ReadTheColorList
MakeColorFields
ShowMeColor 0
ShowWindow(ColorGridbox&,1)
WhileNot Ende%
waitinput
Si Clicked(ColorGridbox&) OU (iskey(13) AND Getfocus(ColorGridbox&))
Si GetCurSel(ColorGridbox&) >= 0
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
ElseIf Clicked(ColorEditor&)
ShowColorEditor 1
ElseIf Clicked(ModifyEd&)
ModifyColor 1
ElseIf Clicked(RedEd&)
UpdateModifiedColor
ElseIf Clicked(GreenEd&)
UpdateModifiedColor
ElseIf Clicked(BlueEd&)
UpdateModifiedColor
ElseIf Clicked(SearchEd&)
SearchOneColor
ElseIf Clicked(ClearEd&)
ClearTheFields
ElseIf Clicked(SaveEd&)
SaveTheColor
ElseIf Clicked(DeleteEd&)
DeleteTheColor
ElseIf Clicked(EndeEd&)
ShowColorEditor 0
ElseIf Clicked(Ende&)
DeleteObject icolist&
Fin
EndIf
Endwhile
'***********************************************************************************
|
| | | | |  |
| |  Rainer Hoefs | | | | | |
| |  Thomas Freier | si es so reicht ok. Soll cela Icon (qui la couleur) chez selectierter la ligne conservé rester wird es aufwendiger. Es devrait encore qui Possibilité donner, dass qui Zeilenfarbe pas bleu wird et qui la ligne seulement encore une gestrichelten cadre bekommt. ou bien sur cela LV-Item une Bitmap aus dem entsprechendem Icon mettons. |
| | | | |
| |  Rainer Hoefs | Thomas Freier (22.04.15)
si es so reicht ok. Soll cela Icon (qui la couleur) chez selectierter la ligne conservé rester wird es aufwendiger. Es devrait encore qui Possibilité donner, dass qui Zeilenfarbe pas bleu wird et qui la ligne seulement encore une gestrichelten cadre bekommt. ou bien sur cela LV-Item une Bitmap aus dem entsprechendem Icon mettons.
allô Thomas,
oui, cela avec dem cadre wäre bien. Habe déjà gesucht chez den Messages dans Comm*.ph mais rien passendes erkannt.
encore une weitere Frage: dans qui liste wird unten toujours une Leerzeile gezeigt, qui beim Anklicken trop einem faute führt, comment peux on qui wegbekommen, car qui "Farbe" gibt es oui pas?
Rainer |
| | | | |
| |  Thomas Freier | Rainer Hoefs (04/23/15)
Thomas Freier (22.04.15)si es so reicht ok. Soll cela Icon (qui la couleur) chez selectierter la ligne conservé rester wird es aufwendiger. Es devrait encore qui Possibilité donner, dass qui Zeilenfarbe pas bleu wird et qui la ligne seulement encore une gestrichelten cadre bekommt. ou bien sur cela LV-Item une Bitmap aus dem entsprechendem Icon mettons.
allô Thomas, oui, cela avec dem cadre wäre bien. Habe déjà gesucht chez den Messages dans Comm*.ph mais rien passendes erkannt. encore une weitere Frage: dans qui liste wird unten toujours une Leerzeile gezeigt, qui beim Anklicken trop einem faute führt, comment peux on qui wegbekommen, car qui "Farbe" gibt es oui pas? Rainer
Zum 1. doit je chercher. Müßte une SetStyle H, [M,] N donner. Zum 2. es wird Clicked(Lv&) abgefragt. alors qui Gridbox. Pour Aktionen besser GetCurSel(Lv&). Es wird ggf. -1 retour et ensuite faute.
|
| | | | |
| |  Rainer Hoefs | | | | | |
| |  Thomas Freier | sur qui Schnelle finde je cela pas. un Beispiel, wohin cela Icon pas teinté wird ist unter [...]  pour trouver. Ist zwar aus qui Zeit avant qui Gridbox, mais toujours une source. |
| | | | |
| |  Rainer Hoefs |  Salut,
ici cela Ergebnis, welches avec Eurer Aider erreicht wurde.
merci nochmals
Rainer
'***********************************************************************************
$H Messages.ph
$H Windows.ph
$H commctrl.ph
'***********************************************************************************
Def GetSysColor(1) !"User32","GetSysColor"
Def CreateBitmap(5) !"GDI32","CreateBitmap"
Def SelectObject(2) !"GDI32","SelectObject"
Def Show(1) ShowWindow(@&(1), 1)
Def Hide(1) ShowWindow(@&(1), 0)
Déclarer R%[], G%[], B%[], Txt$[], ColNum$[], I%, Modify%
Déclarer Red&, Green&, Blue&, ColNum%, ColDesription$, SumColors%, GridboxString$
Déclarer Lv#, icolist&
Var Ende% = 0
struct Lv = Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&
dim Lv#,Lv
'***********************************************************************************
Proc LvSetIcon
Lv#.Item&=&(2)
Lv#.SubItem&=&(3)
Lv#.Mask&=~LVIF_IMAGE
Lv#.Image&=%(4)
sendmessage(&(1),~LVM_SETITEM,0,Lv#)
ENDPROC
'***********************************************************************************
Proc DrawRGBEdit
Début de peinture %hwnd
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(255, 0,0)
Rectangle 262,510,362,545
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(0, 255,0)
Rectangle 382,510,482,545
USEP 0,2, Rgb(102,102,102)
UseBrush 1, Rgb(0, 0, 255)
Rectangle 504,510,604,545
EndPaint
ENDPROC
'***********************************************************************************
Proc DrawEmptySelection
Début de peinture %hwnd
USEP 0,3, Rgb(127,127,127)
UseBrush 1, Rgb(255, 255, 255)
Rectangle 526,32,610,378
USEP 5,0, Rgb(127, 127, 127)
UseBrush 1, Rgb(127, 127, 127)
Rectangle 528,149,609,378
USEP 5,0, Rgb(0, 0, 0)
UseBrush 1, Rgb(0, 0, 0)
Rectangle 528,264,609,378
EndPaint
ENDPROC
'***********************************************************************************
Proc GetDetailsfromString
ColNum% = Val(Mid $(GridBoxStr$, 2, 6))
ColDesription$ = Mid $(GridBoxStr$, Len(GridBoxStr$)-51, 40)
Red& = Int(Val(Mid $(GridBoxStr$, Len(GridBoxStr$)-10, 3)))
Green& = Int(Val(Mid $(GridBoxStr$, Len(GridBoxStr$)-6,3)))
Blue& = Int(Val(Right$(GridBoxStr$, 3)))
ENDPROC
'***********************************************************************************
Proc ShowSelectedColor
GetDetailsfromString
Début de peinture %hwnd
USEP 5,3, Rgb(0,0,0)
UseBrush 1, Rgb(Red&, Green&, Blue&)
Rectangle 540,44,598,368
EndPaint
SetSelectedColor
ENDPROC
'***********************************************************************************
Proc CreateNewColorList
Beep
Assign #1,"C:\ColorList.Dat"
Réécriture #1
I% = 0
WhileNot I% = 256
R%[I%] = Tour(256)
G%[I%] = Tour(256)
B%[I%] = Tour(256)
ColNum$[I%] = Format $("000000",I%)
Txt$[I%] = ColNum$[I%]+"|"+ColNum$[I%]+"|"+$ MkStr("Bemerkung-",4)+"|"+Format $("000",R%[I%])+"|"+Format $("000",G%[I%])+"|"+Format $("000",B%[I%])
Imprimer #1, Txt$[I%]
Inc I%
Endwhile
Fermer #1
Claire R%[], G%[], B%[]
ENDPROC
'***********************************************************************************
Proc ReadTheColorList
Var RT$ = »
Claire ColNum$[], Txt$[], R%[], G%[], B%[]
Assign #1,"C:\ColorList.Dat"
Reset #1
I% = 0
WhileNot Eof(#1)
Contribution #1, RT$
ColNum$[I%] = Val(Mid $(RT$, 2, 6))
Txt$[I%] = Mid $(RT$, Len(RT$)-51, 40)
R%[I%] = Int(Val(Mid $(RT$, Len(RT$)-10, 3)))
G%[I%] = Int(Val(Mid $(RT$, Len(RT$)-6,3)))
B%[I%] = Int(Val(Right$(RT$, 3)))
addstring(ColorGridbox&, RT$)
Inc I%
SumColors% = I%
RT$ = »
Endwhile
Fermer #1
ENDPROC
'***********************************************************************************
Proc MakeColorBitmaps
Paramètres R%, G%, B%
Déclarer x&, y&
x& = CreateBitmap(94,20,1,1,0)
MCLS 94,20
Début de peinture -1
Cls
USEP 0,1,RGB(1,0,0)
UseBrush 1, Rgb(R%, G%, B%)
Rectangle 0,0 - 94,20
y& = SelectObject(%hdc,x&)
ImageList("Add", icolist&, y&, 0)
EndPaint
ENDPROC
'***********************************************************************************
Proc MakeColorFields
icolist& = Créer("ImageList", 94,20,33,0)
sendmessage(ColorGridbox&,~LVM_SETIMAGELIST,~LVSIL_SMALL,IcoList&)
I% = 0
WhileNot I% = SumColors%
MakeColorBitmaps R%[I%], G%[I%], B%[I%]
LvSetIcon(ColorGridbox&,I%,0,I%)
Inc I%
Endwhile
ENDPROC
'***********************************************************************************
Proc ShowColorEditor
Paramètres Status%
Si Status% = 1
EnableWindow ColorEditor&, 0
EnableWindow Ende&, 0
SetWindowPos %hwnd = %winleft, %wintop - Width(%hwnd,1), Height(%hwnd,1) + 160
D'autre
EnableWindow ColorEditor&, 1
EnableWindow Ende&, 1
Cas (Modify% = 1) : Modify% = 0
EnableWindow ModifyEd&, 1
SetWindowPos %hwnd = %winleft, %wintop - Width(%hwnd,1), Height(%hwnd,1) - 160
EndIf
ENDPROC
'***********************************************************************************
Proc SetSelectedColor
GetDetailsfromString
SetText ColNumEd&, Str$(ColNum%)
SetText ColNameEd&, ColDesription$
SetText RedEd&, Str$(Red&)
SetText GreenEd&, Str$(Green&)
SetText BlueEd&, Str$(Blue&)
ENDPROC
'***********************************************************************************
Proc ClearTheFields
SetText ColNumEd&, »
SetText ColNameEd&, »
SetText RedEd&, »
SetText GreenEd&, »
SetText BlueEd&, »
ENDPROC
'***********************************************************************************
Proc ShowMeColor
Paramètres Col%
Déclarer Found%
SetFocus(ColorGridbox&)
Found% = Sélectionnez String(ColorGridbox&,Col%,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
ENDPROC
'***********************************************************************************
Proc SaveTheColor
Déclarer Question$
Var ColNum$ = $ MkStr("0",(6 - Len(GetText $(ColNumEd&)))) + GetText $(ColNumEd&)
Var ColDesription$ = GetText $(ColNameEd&) + Space$(40 - (Len(GetText $(ColNameEd&))))
Var Red$ = $ MkStr("0",(3 - Len(GetText $(RedEd&)))) + GetText $(RedEd&)
Var Green$ = $ MkStr("0",(3 - Len(GetText $(GreenEd&)))) + GetText $(GreenEd&)
Var Blue$ = $ MkStr("0",(3 - Len(GetText $(BlueEd&)))) + GetText $(BlueEd&)
Var SaveString$ = ColNum$+"|"+ColNum$+"|"+ColDesription$+"|"+Red$+"|"+Green$+"|"+Blue$
Var Position% = GetCurSel(ColorGridbox&)
Si Modify% = 1
Si Messagebox("Wollen vous qui la couleur avec qui numéro: "+GetText $(ColNumEd&)+" wirklich changement?","ACHTUNG!",292) = 6
DeleteString(ColorGridbox&,Position%)
InsertString(ColorGridbox&,Position%,SaveString$)
UpdateGridBox
ModifyColor 0
Sélectionnez String(ColorGridbox&,Position%,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
D'autre
Si Sélectionnez String(ColorGridbox&,-1,GetText $(ColNumEd&))
Si MessageBox("Die la couleur avec qui numéro: "+GetText $(ColNumEd&)+" Existe déjà\rWollen vous cet la couleur wirklich Sauver?","Doppelte Farbnummer",292) = 6
AddStrings(ColorGridbox&,SaveString$)
UpdateGridBox
ModifyColor 0
Sélectionnez String(ColorGridbox&,GetCount(ColorGridbox&)-1,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
EndIf
EndIf
ENDPROC
'***********************************************************************************
Proc SearchOneColor
Var SearchColor$ = Contribution$("Bitte trop suchende Farbnummer avec max. 6 payons eingeben:","Farbe suchen","123456")
Si Sélectionnez String(ColorGridbox&,-1,SearchColor$)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
D'autre
MessageBox("Keine la couleur avec qui numéro: "+SearchColor$+" trouvé!","Fehler chez qui Suche",48)
EndIf
ENDPROC
'***********************************************************************************
Proc DeleteTheColor
Var OK% = Messagebox("Wollen vous qui la couleur avec qui numéro: "+GetText $(ColNumEd&)+" wirklich effacer?","ACHTUNG!",292)
Si OK% = 6
DeleteString(ColorGridbox&,GetCurSel(ColorGridbox&))
UpdateGridBox
Sélectionnez String(ColorGridbox&,0,»)
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
ENDPROC
'***********************************************************************************
Proc UpdateModifiedColor
Début de peinture %hwnd
USEP 5,3, Rgb(0,0,0)
UseBrush 1, Rgb(Val(GetText $(RedEd&)), Val(GetText $(GreenEd&)), Val(GetText $(BlueEd&)))
Rectangle 540,44,598,368
EndPaint
ENDPROC
'***********************************************************************************
Proc ModifyColor
Paramètres Mode%
Si Mode% = 1
EnableWindow ModifyEd&, 0
Modify% = 1
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
D'autre
EnableWindow ModifyEd&, 1
Modify% = 0
EndIf
ENDPROC
'***********************************************************************************
Proc UpdateGridBox
Hide(ColorGridbox&)
ReWriteColorDataFile
ClearList ColorGridbox&
ReadTheColorList
MakeColorFields
Show(ColorGridbox&)
ENDPROC
'***********************************************************************************
Proc ReWriteColorDataFile
Var ColorEntries% = GetCount(ColorGridbox&)
Assign #2,"C:\ColorList.Dat"
Réécriture #2
I% = 0
WhileNot I% = ColorEntries%
Imprimer #2, GetString$(ColorGridbox&, I%)
Inc I%
Endwhile
Fermer #2
ENDPROC
'***********************************************************************************
'** Hauptschleife
'***********************************************************************************
cls GetSysColor(15)
Fenêtre Style 10 | 512 | 2048
Titre de la fenêtre "Arbeitsfenster"
Fenêtre ((%maxx-644)/2), 100 - 644,500
Set("Truecolor",1)
var Spalten$ = "Farbe;0;98;WollfarbNr.;1;80;Bemerkung;0;298;R;1;40;G;1;40;B;1;40"
var ColorGridbox& = create("Gridbox",%hwnd,Spalten$,0,10,10,500,380)
Var GridBoxStr$ = »
Var GrBx& = Créer("GroupBox",%hwnd,"Auswahl",518,10,100,382)
Var Ende& = Créer("Button",%hwnd,"&Ende", 10,400,100,30)
Var ColorEditor& = Créer("Button",%hwnd,"&Farbeditor", 515,400,100,30)
'**** Beginn Farbeditor ************************************************************
Var GrBxEd& = create("Groupbox", %hwnd, "Farbeditor", 1, 455, 626,12)
Créer("Text",%hwnd,"Farbnummer:",20,477,90,24) : Var ColNumEd& = Créer("Edit", %hwnd, "12346", 110,475,50,24)
Créer("Text",%hwnd,"Farbname:",180,477,80,24) : Var ColNameEd& = Créer("Edit", %hwnd, "12346", 260,475,345,24)
DrawRGBEdit
Créer("Text",%hwnd,"Farbwerte pour rouge - vert - bleu:",50,517,200,24)
Var RedEd& = Créer("SpinEdit",%hwnd, "0;0;255",280,515,60,24)
Var GreenEd& = Créer("SpinEdit",%hwnd, "0;0;255",402,515,60,24)
Var BlueEd& = Créer("SpinEdit",%hwnd, "0;0;255",524,515,60,24)
Var EndeEd& = Créer("Button",%hwnd,"Beenden", 10,555,70,30)
Var ClearEd& = Créer("Button",%hwnd,"Felder leeren", 96,555,100,30)
Var SearchEd& = Créer("Button",%hwnd,"Farbe suchen", 212,555,100,30)
Var DeleteEd& = Créer("Button",%hwnd,"Farbe löschen", 313,555,100,30)
Var ModifyEd& = Créer("Button",%hwnd,"Farbe ändern", 414,555,100,30)
Var SaveEd& = Créer("Button",%hwnd,"Farbe sichern", 515,555,100,30)
'**** Ende Farbeditor **************************************************************
ShowWindow(ColorGridbox&,0)
DrawEmptySelection
Casenote FileExists("C:\ColorList.Dat") : CreateNewColorList
ReadTheColorList
MakeColorFields
ShowMeColor 0
ShowWindow(ColorGridbox&,1)
WhileNot Ende%
waitinput
Si Clicked(ColorGridbox&) OU (iskey(13) AND Getfocus(ColorGridbox&))
Si GetCurSel(ColorGridbox&) >= 0
GridBoxStr$ = GetString$(ColorGridbox&,GetCurSel(ColorGridbox&))
ShowSelectedColor
EndIf
ElseIf Clicked(ColorEditor&)
ShowColorEditor 1
ElseIf Clicked(ModifyEd&)
ModifyColor 1
ElseIf Clicked(RedEd&)
UpdateModifiedColor
ElseIf Clicked(GreenEd&)
UpdateModifiedColor
ElseIf Clicked(BlueEd&)
UpdateModifiedColor
ElseIf Clicked(SearchEd&)
SearchOneColor
ElseIf Clicked(ClearEd&)
ClearTheFields
ElseIf Clicked(SaveEd&)
SaveTheColor
ElseIf Clicked(DeleteEd&)
DeleteTheColor
ElseIf Clicked(EndeEd&)
ShowColorEditor 0
ElseIf Clicked(Ende&)
DeleteObject icolist&
Fin
EndIf
Endwhile
'***********************************************************************************
|
| | | | |
| |  E.T. | très joli, seulement eines comme pas so droite: si une la ligne markiert ist, wird dans cette qui la couleur des linken Feldes modifié, so cela qui Farben à gauche dans qui Box et à droite unterschiedlich air. Wa im ersten Moment quelque chose 
 |
| | | XProfan X2Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 24.04.2015 ▲ |
| |
| |  Rainer Hoefs | Salut,
oui, c'est im Moment malheureusement so.
Thomas Freier meinte es gäbe une Possibilité chez den Style-Settings seulement une cadre à la ligne trop mettons. cela wäre ensuite ideal.
j'ai aussi déjà chez den Messages gesucht, et rien trouvé, quoi on ggf. benutzen pourrait. So doit je mich im Moment plan so behelfen.
Sollte encore irgendjemanden quelque chose en supplément envahir, wäre je pour den Tip, comment toujours, très reconnaissant.
Rainer |
| | | | |
| |  Jörg Sellmeyer | entier brachial könntest du simple pour deinem Mausklick dans qui Gridlist den Concentrer aufs Hauptfenster mettons:
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 25.04.2015 ▲ |
| |
| |  Rainer Hoefs | allô Jörg,
ist oui 'ne echte "quick & dirty"-Solution, qui mais bestens funktioniert.
car pour qui sélection einer la couleur dans qui liste wird oui sowieso irgendetwas avec cela angefangen, z.B. im Farbeditor gearbeitet, ou bien si alles im richtigen Dialog dans mon Teppich-Kolorier- et Druckprogramm integriert ist, un Teppich koloriert, wohin ensuite oui tout de suite qui Concentrer sur anderen Bedienelementen sitzt.
Insofern une gute et praktikable Solution.
merci.
Rainer
p.s. toutefois.... si quelqu'un encore qui saubere Windows-Api-Solution einfällt.... |
| | | | |
| |  Thomas Freier | Es wird ensuite qui markierte la ligne hellgrau et qui la couleur ändert sich aussi encore. Alternativ avec Checkbox, ensuite le crochet mettons et alles deselektieren. ou bien Bitmap sur cela Icon qui markierten la ligne. Kleines Beispiel (Problem bleibt cela Ermitteln qui Item-Koordinaten sans Litview.dll)
window 10,100-450,400
Titre de la fenêtre "Wahl pour Double-cliquez sur links"'
$H windows.ph
$H messages.ph
$H commctrl.ph
'
declare Lv#
struct Lv=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&
dim Lv#,Lv
'
proc LvSetIcon'---------------------------------------------LvSetIcon
Lv#.Item&=&(2)
Lv#.SubItem&=&(3)
Lv#.Mask&=~LVIF_IMAGE
Lv#.Image&=%(4)
sendmessage(&(1),~LVM_SETITEM,0,Lv#)
endproc'-------------------------------------------------------------
'
var IcoList&=create("ImageList",26,26)
ImageList("AddIcon",IcoList&,~LoadIcon(0,32512))
ImageList("AddIcon",IcoList&,~LoadIcon(0,32513))
ImageList("AddIcon",IcoList&,~LoadIcon(0,32514))
ImageList("AddIcon",IcoList&,~LoadIcon(0,32515))
'
var a$=";0;56;Spalte 2;0;120;Spalte 3;0;120"
var Lv&=create("gridbox",%hwnd,a$,0,10,30,400,200)
sendmessage(Lv&,~LVM_SETIMAGELIST,~LVSIL_SMALL,IcoList&)
'
a$="|Test x b|Test x c|Test x d|Test x e"
whileloop 0,5
addstring(Lv&,translate$(a$,"x",str$(&loop)))
LvSetIcon(Lv&,&loop,0,1)
endwhile
SubClass %hwnd, 1
Utilisateur Messages 2000
Déclarer x&,y&,x%,y%
Déclarer bi&, ba&, item&
tandis que 1
waitinput
Si (%umessage = 2000) AND (&ulparam > -1)
x&= &ulparam
y&= &uwparam
x%=0
y%=SendMessage(LV&,$101D, x&,0)
Whileloop 0,x&-1,1
x%=x%+SendMessage(LV&,$101D, &loop,0)
Endwhile
'########################################################################
MCLS 32,26
Début de peinture -1
Cls
USEP 0,6,RGB(255,0,0)
Rectangle 0,0 - 32,26
EndPaint
bi&=Créer(«PCSI», 0,"& MEMBMP")
DestroyWindow(ba&)
ba&=Créer("Bitmap", LV&, bi&,2, 25+(y&*27))
'########################################################################
EndIf
Endwhile
DeleteObject bi&
Usermessages 0
SubClass %hwnd, 0
FIN
SubClassProc
Si SubClassMessage(%hWnd, ~WM_NOTIFY)
Si Long(&sLParam,8)=-3
item&=Long(&sLParam,12)
Si item&<>-1
SendMessage(%hwnd, 2000, item&, Long(&sLParam,16))
EndIf
EndIf
EndIf
ENDPROC

chez mir ist qui Beschriftung tlw. trop grand. Screen-1.jpg |
 | | | | |
|
répondreOptions du sujet | 6.093 Views |
Themeninformationencet Thema hat 6 participant: |