Red de conocimiento informático - Espacio del host - ¿Dónde necesito modificar este código de idioma simple? Acerca del cuadro de súper lista.

¿Dónde necesito modificar este código de idioma simple? Acerca del cuadro de súper lista.

Copie el siguiente código en su programa. Anule su propia subrutina de respuesta de evento de doble clic de cuadro súper denso.

He encapsulado funciones similares, que pueden crear dinámicamente varios controles de edición (cuadro de fecha, cuadro de edición, cuadro combinado) con mayor flexibilidad.

.Versión 2

.Subrutina _SuperListBox1_DoubleClicked, lógica

.Parámetro posición horizontal, tipo entero

. Parámetros posición vertical, tipo entero

. Estado de la tecla de función del parámetro, tipo entero

.Variable local local_position_information, LVHITTESTINFO

.Variable local local_row_index, entero

.Variable local local_Column_Index, entero

.Variable local local_rectangle_range, RECT

local_position_info.pt.X = posición horizontal

local_position_info.pt.Y = posición vertical

SendMessage_LVHITTESTINFO (SuperListBox1 . fetchWindowHandle (), #LVM_SUBITEMHITTEST, 0, Bureau_location_info)

.Si es verdadero (bureau_location_info.iItem = -1 o Bureau_location_info.iSubItem =-1)

'Rango de elementos fuera de la tabla

Retorno ()

.Finalizar si es verdadero

Bureau_rectangle_range.Top = Bureau_position_info.iSubItem

SendMessage_RECT (SuperListBox1.fetch_window_handle (), # LVM_GETSUBITEMRECT, Bureau_position_info.iItem, Bureau_rectangle_range)

SuperListBox_.cuadro de edición. Colocar ventana principal (SuperListBox1) ' Coloque el cuadro de edición dentro de la súper lista (como ventana secundaria). Pongo este código aquí solo para recordártelo.

SuperListBox_EditBox.Move (bureau_rectangle_range.Izquierda, Bureau_rectangle_range.Arriba, Bureau_rectangle_range.Derecha - Bureau_rectangle_range.Izquierda, Bureau_rectangle_range.Abajo - Bureau_rectangle_range.Top)

SuperListBox_EditBox.Visual = True

Comando .DLL SendMessage_LVHITTESTINFO, entero, "user32", "SendMessageA", llama a la función de ventana de la ventana para enviar un mensaje a la ventana. SendMessageBynum, SendMessageByString es una declaración de "tipo seguro" de la función, dependiendo del mensaje específico

. Parámetro hwnd, entero, identificador de ventana para recibir el mensaje

. Parámetros wMsg, entero, identificador del mensaje

.

Parámetro wParam, entero, relacionado con el mensaje

. Parámetros lParam, LVHITTESTINFO, , dependiendo del mensaje;

Comandos .DLL SendMessage_RECT, entero, "user32", "SendMessageA", , Llama a la función de ventana de la ventana para enviar un mensaje a la ventana. SendMessageBynum, ; SendMessageByString es una declaración de "tipo seguro" de la función, determinada por el mensaje específico

. Parámetro hwnd, entero, identificador de ventana para recibir el mensaje

. Parámetros wMsg, entero, identificador del mensaje

. Parámetro wParam, entero, relacionado con el mensaje

. El parámetro lParam, RECT, depende del mensaje

.Versión 2

.Tipo de datos LVHITTESTINFO

.Miembro pt, POINTAPI

. Indicadores de miembro, entero

.Miembro iItem, entero

.Miembro iSubItem, entero

.Miembro iGroup, entero

.Tipo de datos POINTAPI

.Miembro X, entero

.Miembro Y, entero

.Tipo de datos RECT

.Miembro Izquierdo, entero p>

.Miembro superior, entero

.Miembro derecho, entero

.Miembro inferior, entero

.Constante LVM_SUBITEMHITTEST, "4153"

.Constante LVM_GETSUBITEMRECT, "4152" .