|
|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - ivancp
51
« en: Sábado 22 de Abril de 2006, 16:42 »
El codigo que muestras solo cambia de color de fondo al control IDC_WINL2 pero no verifica si ha sido modificado o no.
Lo que puedes hacer es capturar el evento "text changed" y tener un flag por cada control que se modifique. (m_bWinl2Changed)
Cuando el texto haya sido modificado
m_bWinl2Changed = true;
Luego en tu funcion ctlcolor:
if( pWnd->GetDlgCtrlID() == IDC_WINL2 && m_bWinl2Changed == true) { pDC->SetBkColor( m_Color ); return (HBRUSH)m_Pincel.GetSafeHandle(); }
52
« en: Sábado 22 de Abril de 2006, 16:37 »
Para obtener el puntero a un control atravez del id:
CWnd * pWnd = GetDlgItem(IDC_MUESTRA);
Para obtener el siguiente elemento del dialogo o ventana:
pWnd->GetNextWindow();
Para obtener el siguiente control segun el orden del tab
pWnd->GetNextDlgTabItem();
53
« en: Lunes 3 de Abril de 2006, 19:44 »
55
« en: Lunes 3 de Abril de 2006, 19:17 »
Intenta con esto: ShellExecute(NULL,"open","notepad.exe","c:\\tuarchivo.txt",NULL,SW_SHOW);
56
« en: Viernes 31 de Marzo de 2006, 18:07 »
es lo que hago pero por mas que aumento el tamaño no me lo coge, por me pasa esto te muestro el codigo que utilizo:
CFont m_fFontG; m_fFontG.CreateFont(90, 4, 0, 0, FW_ULTRABOLD,0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "FDISPARG"); m_ll.SetFont(&m_fFontG);
Utiliza el metodo anterior, solo tienes que cambiar FW_BOLD por FW_ULTRABOLD.
57
« en: Martes 24 de Enero de 2006, 20:08 »
Para crear una nueva fuente a partir de fuente predeterminada de windows CFont m_font; //Debe ser miembro de alguna clase, si es del dialogo mejor. LOGFONT lf; m_font.CreateStockObject(DEFAULT_GUI_FONT); m_font.GetLogFont(&lf); strcpy(lf.lfFaceName,"Arial"); //Cambiado al tipo Arial lf.lfWeight = FW_BOLD; //Negrita lf.lfHeight = 15; //Tamaño 15 m_font.DeleteObject(); m_font.CreateFontIndirect(&lf); // Creando la nueva fuente //Finalmente asignarle la nueva fuente SetFont(&m_font);
Nota. Revisar la estructura LOGFONT .
58
« en: Jueves 19 de Enero de 2006, 02:29 »
Tu pregunta esta un poco confusa.
A que te refieres pasar mas de un campo de un treectrl.?
Te refieres pasar tres elementos de un treectrl? ¿pero a donde?
59
« en: Miércoles 11 de Enero de 2006, 03:05 »
unsigned char *t1 = (unsigned char *)"texto de prueba"; int len = strlen((const char *)t1); char *t2 = new char[len]; strcpy(t2,(const char *)t1); //... delete t2;
60
« en: Viernes 9 de Diciembre de 2005, 00:34 »
Intenta con esto CString strClipboard; CString tmp; //Obteniendo todos lo elementos de m_list en strClipboard int len = m_list.GetCount(); for(int i = 0; i < len; i++) { m_list.GetText( i, tmp); strClipboard += tmp; strClipboard += "\r\n"; } // Copiando strClipboard al Clipboard if(OpenClipboard()) { HGLOBAL clipbuffer; char * buffer; EmptyClipboard(); clipbuffer = GlobalAlloc(GMEM_DDESHARE, strClipboard.GetLength()+1); buffer = (char*)GlobalLock(clipbuffer); strcpy(buffer, LPCSTR(strClipboard)); GlobalUnlock(clipbuffer); SetClipboardData(CF_TEXT,clipbuffer); CloseClipboard(); }
Nota: Parte del codigo fue obtenida de http://www.codeproject.com/clipboard/clipboard_faq.asp
61
« en: Martes 6 de Diciembre de 2005, 03:58 »
Entonces solo quitale la palabra "public"
__gc struct nodo { int x; String * y; nodo * sig_nodo; };
62
« en: Domingo 4 de Diciembre de 2005, 00:58 »
Hola a todos, antes que nada no s si valla aqui esta pregunta, pero de antemano gracias por su ayuda.
Estoy haciendo una lista en Visual C++.NET y declaro la estructura de este tipo
public __gc struct nodo { int x; String * y; };
y declaro
typedef nodo *Lista;
mi duda es o mas bien mi pregunta, quiero declara una variable de tipo lista, que sea global asi .
Lista lista_principal
Pero no me deja y me manda este error: NO SE PUEDE DECLARAR UN OBJETO DE TIPO ADMINISTRADO GLOBAL O ESTATICO O UN PUNTERO __gc
Me podrian decir donde hago esta declaracion o como la hago. Creo que deberia ser asi: struct nodo { int x; String * y; nodo *sig; //apuntador al nodo siguiente };
63
« en: Domingo 4 de Diciembre de 2005, 00:56 »
buenos dias a todos, les escribo para ver si me pueden aclarar una duda de como puedo generar archivos de pependencia o empaquetador con Visual C, porque en visual basic el mismo genera los archivos, pero, en Visual C parece que son programas externos
ATTE: Carlobert Puedes utilizar InstallShield para empaquetar los ejecutables de tu aplicacion en un instalable. Si deseas saber de quien depende tu aplicacion pudes abrir tu ejecutable con "Dependency Walker" que biene instalado con el visual studio (depends.exe) Debes generar tu ejecutable en la configuracion Release para que no tengas problemas con dependencias que no tendrian sentido. Otra alternativa para la instalacion es InnoSetup http://www.jrsoftware.org/isinfo.php
64
« en: Lunes 7 de Noviembre de 2005, 20:03 »
El tercer parametro de SetTimer es un puntero a una function, esa funcion será invocada cada vez que pase el tiempo en millisegundos que se indice en el segundo parametro.
Si este valor es especificado en NULL, entonces toma como funcion por defecto a la funcion OnTimer();
65
« en: Viernes 30 de Septiembre de 2005, 15:14 »
Puedes escribir el codigo que estas utilizando para poder ayudarte?
66
« en: Viernes 30 de Septiembre de 2005, 15:06 »
Hola, Puedes revisar el codigo fuente que esta en esta direccion, soporta hasta numeros de 100 digitos inicialmente. http://acm.uva.es/board/viewtopic.php?t=6297Esta programado en c, pero puedes modificarlo y abstraerlo en una clase c++.
67
« en: Viernes 30 de Septiembre de 2005, 14:59 »
Hola, Puedes utilizar este codigo para abrir un FormView utilizando solo su ID: CDocTemplate* AfxFindDocTemplate(UINT nIDResource) { POSITION pos = AfxGetApp()->GetFirstDocTemplatePosition(); while ( pos ) { CDocTemplate* pDocTemplate = AfxGetApp()->GetNextDocTemplate(pos); if ( AfxGetDocTemplateId(pDocTemplate) == nIDResource ) return pDocTemplate; } return NULL; } void CMainFrame::LoadView(UINT ID) { CDocTemplate* pDoc = AfxFindDocTemplate(ID); if(pDoc != NULL) { pDoc->OpenDocumentFile(NULL); } } // Luego para abrir el formulario solo escribes: LoadView(IDR_TUFORMVIEW);
68
« en: Domingo 18 de Septiembre de 2005, 03:48 »
Estas declarando m_ppVariable como un puntero doble y para inicializarlo debes que hacer: CString **m_ppVariable = NULL; //primer array m_ppVariable = new CString*[N]; for(int i = 0; i <N; i++) { //segundo array m_ppVariable[i] = new CString[M]; //inicializando cada elemento for(int j =0; j < M; j++) { m_ppVariable[i][j] = new CString("algun texto"); } }
N es el tamaño de elementos, cada elemento apunta a otro array de M elementos de CString's.
69
« en: Sábado 13 de Agosto de 2005, 16:38 »
for( ... ) { CBrush *PincelAnterior,*PincelActual= new CBrush; PincelActual->CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255)); dc.SelectObject(PincelActual); // .... }
70
« en: Martes 9 de Agosto de 2005, 00:05 »
Same Game es un juego tipo puzzle (rompecabezas) de un solo jugador. El juego consiste en eliminar la mayor cantidad de grupos de elementos de un tablero de N x M. Un grupo es conformado por 2 o mas elementos, del mismo color, que sean adyacentes entre sí. Al eliminar un grupo se debe llenar los espacios en blanco con los elementos superiores restantes. Igualmente si quedan columnas vacias tambien desaparecerlas haciendo que las columnas que esten mas a la derecha las ocupen. Autor: Ivan Cachicatari http://www.latindevelopers.com/ivancp/Descarga: http://www.latindevelopers.com/vcpp/games/samegame/
|
|
|