Hi Leute,
ist es möglich statt Text... Input Boxen in die Subitems zu integrieren. Sieht dann in etwa so aus:
[Blockierte Grafik: http://blog.buerstinghaus.net/images/addonkopierer-main.jpg]
Danke Jungs!
Hi Leute,
ist es möglich statt Text... Input Boxen in die Subitems zu integrieren. Sieht dann in etwa so aus:
[Blockierte Grafik: http://blog.buerstinghaus.net/images/addonkopierer-main.jpg]
Danke Jungs!
guck dir mal den Stil $LVS_EDITLABELS an.
Damit kann man den ersten Eintrag sofort editieren. (per Inputbox).
Ansonsten guck dir Diesen Thread mal an.
Geht allerdings nur wenn man es auswählt / doppelklickt, ansonsten ist ganz normal ein Label da.
Danke für den Tipp. Habe bereits eine ähnliche Lösung im englischen Forum gefunden. Aber es ist leider nicht das gleiche.
Das einzig geniale an dem Programm (ich meine den AddonKopierer) ist, dass sich die Länge der InputBox synchron mit der Länge der Spalte verändert. Es macht also einen soliden Eindruck. Soweit ich weiß wurde das Programm in Visual Basic geschrieben.
Gibt es keine bekannte Lösung dazu?
EDIT:
Also möglich sollte es sein. Ich habe hier mal ein Beipsiel angefertigt, dass zu mindest schon mal ein Edit Control an der richtigen Stelle anzeigt, allerdings vergraut es wenn ich den Focus verliere:
[autoit]#include <GuiEdit.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <WinAPI.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <Constants.au3>
#include <Array.au3>
#include <String.au3>
#include <ListViewConstants.au3>
#include <GuiTab.au3>
#include <TreeViewConstants.au3>
#include <GuiListBox.au3>
#include <StructureConstants.au3>
#include <GuiListView.au3>
#include <UpDownConstants.au3>
Opt("GuiCloseOnESC", 0)
[/autoit][autoit][/autoit][autoit]Global $hEdit, $hDC, $hBrush, $Item = -1, $SubItem = 0
[/autoit][autoit][/autoit][autoit]Global $Style = BitOR($WS_CHILD, $WS_VISIBLE, $ES_AUTOHSCROLL, $ES_LEFT)
[/autoit][autoit][/autoit][autoit]$hGUI = GUICreate("ListView Subitems edit in place", 400, 300)
[/autoit][autoit][/autoit][autoit]$hListView = _GUICtrlListView_Create($hGUI, "Items|SubItems", 2, 2, 296, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($hListView, $LVS_EX_GRIDLINES)
For $i = 1 To 10
_GUICtrlListView_AddItem($hListView, "Item " & $i)
_GUICtrlListView_AddSubItem($hListView, $i - 1, "SubItem " & $i, 1)
Next
$Item = 1
$SubItem = 1
Local $iSubItemText = _GUICtrlListView_GetItemText($hListView, $Item, $SubItem)
Local $iLen = _GUICtrlListView_GetStringWidth($hListView, $iSubItemText)
Local $aRect = _GUICtrlListView_GetSubItemRect($hListView, $Item, $SubItem)
$hEdit = _GUICtrlEdit_Create($hGUI, $iSubItemText, $aRect[0] + 6, $aRect[1], $iLen + 10, 17, $Style)
_GUICtrlEdit_SetSel($hEdit, 0, -1)
_WinAPI_SetFocus($hEdit)
$hDC = _WinAPI_GetWindowDC($hEdit)
$hBrush = _WinAPI_CreateSolidBrush(0)
FrameRect($hDC, 0, 0, $iLen + 10 , 17, $hBrush)
;~ GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
;~ GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
;~ GUICtrlSetState($hEdit, $GUI_FOCUS)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]Do
GUICtrlSetState($hEdit, $GUI_FOCUS)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Hat jemand eine Idee wie ich das Edit Control aktiv halte, sodass ich es jederzeit bearbeiten kann?
Danke jungs!
Wie wäre es denn hiermit: https://autoit.de/index.php?page…49074#post49074
BugFix, du wiederholst nur, was Alcros bereits eingebracht hat.
He, ich bin ein alter Mann, da setzt schon die Demenz ein ...
Aber wenn ihm das nicht ausreicht... nunja, dann soll der TE sich halt die Eierlegende Wollmilchsau stricken.
Trolleule1337:
Du hast nicht zufällig den Visual Basic code dazu?
@IPU genial man, wie hast du das so schnell hinbekommen?? sieht ja schon sau gut aus, aber kann doch nicht sein, dass man die Reihen nicht markieren kann
Das kriegen wir doch sicher noch hin oder?
Häng doch bitte deinen code an und kommentier auch bitte mal die zeilen, die ich brauche um die input felder auszulesen. Danke
BugFix
Deine Lösung ist schon ziemlich gut, aber wenn man mehrere Stunden damit verbracht hat eine Lösung herbeizuführen, dann geht es einem danach nicht mehr um die Lösung sondern darum, es irgendwie umzusetzen. Also es geht ums Prinzip! Keine schöne Angewohnheit
@Make-Grafik:
leider nein, habe schon beim Entwickler angefragt aber bisher keine Antwort bekommen. Einer von Ihnen scheint schon seit 3 Jahren inaktiv zu sein...
Ich hatte eben genau die gleiche idee: Das mit einem child gui zu machen, allerdings wird das child gui nur das Input Control beinhalten. Ja setz den code mal rein bitte.
Hmm also wie wärs denn wenn wir dem child gui nur das Input Control geben?
Hey ich hab jetzt hier ein fertiges C# Projekt gefunden, mit dem man die Controls innerhalb des ListViews ganz einfach austauschen kann.
Ich hab eine DLL und C# Projektdateien. Verfügt jemand über die Erfahrung, das Ganze in AutoIt einzubinden???
Hier ist der Link zu dem Projekt:
http://www.codeproject.com/Articles/6646/…stView-subitems
Danke schonmal!