Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: dewolo en 5 Octubre 2011, 00:03 am



Título: leer cadena de editbox
Publicado por: dewolo en 5 Octubre 2011, 00:03 am
estoy tratando de leer el contenido que se ingresa a un editbox el cual esta en un dialogbox secundario .... encontre este codigo en visual basic que no entiendo muy bien pero trate de pasarlo a c o de entender al menos lo que hace, pero no entiendo como hacer esto aun

Código:
Public Function GetTextBoxLine(hWnd As Long) As String
 'INPUT: hWnd = Handle to text box
 'OUTPUT: Text of specified TextBox Control

 Dim lngLineCount As Long
 Dim lngLineNumber As Long
 Dim lngRet As Long
 Dim lngLen As Long
 Dim lngFirstCharPos As Long
 Dim bytBuffer() As Byte
 Dim strAns As String

 'get number of lines
 lngLineCount = SendMessage(hWnd, EM_GETLINECOUNT, 0, 0&)

 For lngLineNumber = 0 To lngLineCount - 1
 'first character position of the line
 lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, lngLineNumber, 0&)

 'length of line
 lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0&)

 ReDim bytBuffer(lngLen) As Byte

 bytBuffer(0) = lngLen

 'text of line saved to bytBuffer
 lngRet = SendMessage(hWnd, EM_GETLINE, lngLineNumber, bytBuffer(0))

 If lngRet Then
 strAns = strAns & Left$(StrConv(bytBuffer, vbUnicode), lngLen)
 End If
 Next

 GetTextBoxLine = strAns
 End Function


asi esta mi aproximacion de codigo pero no es asi me parece

Código:
long lngFirstCharPos = SendMessage(hWnd, EM_LINEINDEX, 0, 0);
int lngLen = SendMessage(hWnd, EM_LINELENGTH, lngFirstCharPos, 0);
chBuffer1[0] = lngLen;
long lngRet = SendMessage(hWnd, EM_GETLINE, 0, chBuffer1);


antes lo habia hecho asi pero tampoco recivia nada

Código:

char chBuffer1[MAX_PATH];//={0};
int t1=SendDlgItemMessage(hWnd, IDC_ART1, EM_GETLINE, 0, (LPARAM)(LPSTR)chBuffer1);//LB_GETSTRING

char asd[12];

sprintf(asd, "%d", t1);

MessageBox(hWnd,chBuffer1,asd,0);

agradezo su ayuda  :)


Título: Re: leer cadena de editbox
Publicado por: Eternal Idol en 5 Octubre 2011, 00:20 am
Windows Controls  (http://msdn.microsoft.com/en-us/library/windows/desktop/bb773173%28v=VS.85%29.aspx).


Título: Re: leer cadena de editbox
Publicado por: dewolo en 5 Octubre 2011, 01:51 am
el problema estaba en el parametro que le pasaba a sendmessage, no devia pasarle el manejador del dialogo sino el manejador del editbox  ::)
ahora ando la cosa