• Lunes 8 de Diciembre de 2025, 11:40

Mostrar Mensajes

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

Páginas: 1 2 [3]
51
Visual C++ / Re: Problemas Al Pintar Un Cuadro De Texto
« 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
Visual C++ / Re: Cuadro De Dialogo
« 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
Visual C++ / Re: Generador Ayuda
« en: Lunes 3 de Abril de 2006, 19:44 »
Puedes utilizar esta herramienta:

http://www.vizacc.com/gen_download.php

54
Visual C++ / Re: Obtener Estado De Ejecución De Procesos
« en: Lunes 3 de Abril de 2006, 19:39 »
Aqui puedes encontrar informacion acerca de como enumerar procesos y ver que es lo que tienen:

http://www.codeproject.com/threads/processes.asp

55
Visual C++ / Re: Ejecutar Otro Programa Desde Visual C++
« en: Lunes 3 de Abril de 2006, 19:17 »
Intenta con esto:

Código: Text
  1. ShellExecute(NULL,"open","notepad.exe","c:\\tuarchivo.txt",NULL,SW_SHOW);
  2.  

56
Visual C++ / Re: Cambiar Fuente Fgormulario
« en: Viernes 31 de Marzo de 2006, 18:07 »
Cita de: "Perla_kiko"
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:
Código: Text
  1.  
  2. CFont m_fFontG;
  3. 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");
  4.  
  5. m_ll.SetFont(&m_fFontG);
  6.  
  7.  
Utiliza el metodo anterior, solo tienes que cambiar FW_BOLD por FW_ULTRABOLD.

57
Visual C++ / Re: Cambiar Fuente Fgormulario
« en: Martes 24 de Enero de 2006, 20:08 »
Para crear una nueva fuente a partir de fuente predeterminada de windows


Código: Text
  1.  
  2. CFont m_font;  //Debe ser miembro de alguna clase, si es del dialogo mejor.
  3.  
  4. LOGFONT lf;
  5. m_font.CreateStockObject(DEFAULT_GUI_FONT);
  6. m_font.GetLogFont(&lf);
  7.  
  8. strcpy(lf.lfFaceName,"Arial");     //Cambiado al tipo Arial
  9. lf.lfWeight = FW_BOLD;            //Negrita
  10. lf.lfHeight = 15;                    //Tamaño 15
  11.  
  12. m_font.DeleteObject();
  13. m_font.CreateFontIndirect(&lf); // Creando la nueva fuente
  14.  
  15. //Finalmente asignarle la nueva fuente
  16.  
  17. SetFont(&m_font);
  18.  
  19.  

Nota. Revisar la estructura LOGFONT .

58
Visual C++ / Re: Tree Control
« 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
Visual C++ / Re: Transformación De Unsigned Char* A Char*
« en: Miércoles 11 de Enero de 2006, 03:05 »
Código: Text
  1.   unsigned char *t1 = (unsigned char *)"texto de prueba";
  2.   int len = strlen((const char *)t1);
  3.   char *t2 = new char[len];
  4.   strcpy(t2,(const char *)t1);
  5.  
  6.   //...
  7.   delete t2;
  8.  
  9.  

60
Visual C++ / Re: Uso Del Clipboard
« en: Viernes 9 de Diciembre de 2005, 00:34 »
Intenta con esto
Código: Text
  1.  
  2. CString strClipboard;
  3. CString tmp;
  4.  
  5. //Obteniendo todos lo elementos de m_list en strClipboard
  6. int len = m_list.GetCount();
  7. for(int i = 0; i < len; i++)
  8. {
  9.  m_list.GetText( i, tmp);
  10.  strClipboard += tmp;
  11.  strClipboard += "\r\n";
  12. }
  13.  
  14. // Copiando strClipboard al Clipboard
  15.  
  16. if(OpenClipboard())
  17. {
  18.   HGLOBAL clipbuffer;
  19.   char * buffer;
  20.   EmptyClipboard();
  21.   clipbuffer = GlobalAlloc(GMEM_DDESHARE, strClipboard.GetLength()+1);
  22.   buffer = (char*)GlobalLock(clipbuffer);
  23.   strcpy(buffer, LPCSTR(strClipboard));
  24.   GlobalUnlock(clipbuffer);
  25.   SetClipboardData(CF_TEXT,clipbuffer);
  26.   CloseClipboard();
  27. }
  28.  

Nota: Parte del codigo fue obtenida de
http://www.codeproject.com/clipboard/clipboard_faq.asp

61
Visual C++ / Re: Duda De Declaracion De Variables Globales
« 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
Visual C++ / Re: Duda De Declaracion De Variables Globales
« en: Domingo 4 de Diciembre de 2005, 00:58 »
Cita de: "xillinois"
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
Visual C++ / Re: Generar Archivos De Dependencia Con Visual C 6.0
« en: Domingo 4 de Diciembre de 2005, 00:56 »
Cita de: "carlobert"
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 :smartass:
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
Visual C++ / Re: Settimer
« 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
Visual C++ / Re: Uso De Ventanas Dialogo
« en: Viernes 30 de Septiembre de 2005, 15:14 »
Puedes escribir el codigo que estas utilizando para poder ayudarte?

66
Visual C++ / Re: Manejar numeros muy grandes en VC6
« 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=6297

Esta programado en c, pero puedes modificarlo y abstraerlo en una clase c++.

67
Visual C++ / Re: Los Formularios De La Clase Cformview
« en: Viernes 30 de Septiembre de 2005, 14:59 »
Hola,

Puedes utilizar este codigo para abrir un FormView utilizando solo su ID:

Código: Text
  1. CDocTemplate* AfxFindDocTemplate(UINT nIDResource)
  2. {
  3.     POSITION pos = AfxGetApp()->GetFirstDocTemplatePosition();
  4.     while ( pos )
  5.     {
  6.         CDocTemplate* pDocTemplate = AfxGetApp()->GetNextDocTemplate(pos);
  7.         if ( AfxGetDocTemplateId(pDocTemplate) == nIDResource )
  8.             return pDocTemplate;
  9.     }
  10.     return NULL;
  11. }
  12.  
  13.  
  14. void CMainFrame::LoadView(UINT ID)
  15. {
  16.   CDocTemplate* pDoc = AfxFindDocTemplate(ID);
  17.   if(pDoc != NULL)
  18.   {
  19.     pDoc->OpenDocumentFile(NULL);
  20.   }
  21. }
  22.  
  23. // Luego para abrir el formulario solo escribes:
  24.  
  25. LoadView(IDR_TUFORMVIEW);
  26.  
  27.  
  28.  

68
Visual C++ / Re: Punteros A Cstring
« en: Domingo 18 de Septiembre de 2005, 03:48 »
Estas declarando m_ppVariable  como un puntero doble y para inicializarlo debes que hacer:

Código: Text
  1.  
  2. CString **m_ppVariable = NULL;
  3.  
  4. //primer array
  5. m_ppVariable = new CString*[N];
  6.  
  7. for(int i = 0&#59; i <N&#59; i++)
  8. {
  9.    //segundo array
  10.     m_ppVariable[i] = new CString[M];
  11.    
  12.     //inicializando cada elemento
  13.     for(int j =0; j < M; j++)
  14.     {
  15.          m_ppVariable[i][j] = new CString("algun texto");
  16.     }
  17. }
  18.  
  19.  

N es el tamaño de elementos, cada elemento apunta a otro array de M elementos de CString's.

69
Visual C++ / Re: Ayuda Para Graficar Y Pintar Cuadros Dinamicamente
« 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
Visual C++ / [Código Fuente] Same Game
« 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/

Páginas: 1 2 [3]