|
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 - Sandra_mad
1
« en: Miércoles 17 de Noviembre de 2004, 21:25 »
Muchas gracias por su ayuda, seguire su consejo y ya les contare
2
« en: Miércoles 17 de Noviembre de 2004, 11:25 »
Hola a todos!!! Me estan dando muchos problemas las variables globales; Tengo varias clases, y todas ellas tienen que acceder a las mismas variables, para ello que mejor que usar variables globales, no??? Pues bien, me estan dando muchos problemas; Las he declarado en muchos sitios, y me dan errores en todos; Las tengo declaradas en el fichero .h de una de las clases, y en las demas clases les pongo el #include "xxxx.h" donde las tengo declaradas, con el objetivo de poder usarlas, no me dan errores al acceder a ellas desde las otras clases, pero me dan tantos errores de linkado como variables tengo; Error tipico que me sale:
DescargarExtensiones.obj : error LNK2005: "int Des_Archivo" (?Des_Archivo@@3HA) already defined in DescargarArchivo.obj
Como puedo solucionarlo?????
Gracias, y buenos dias;
3
« en: Martes 2 de Noviembre de 2004, 10:33 »
Hola a todos; De momento no he encontrado nada, alguno sabe alguna pagina donde me pueda orientar sobre el uso de las barras de progreso???? Gracias, y buenos dias
4
« en: Martes 26 de Octubre de 2004, 12:25 »
Hola, buenos dias!!!!! Tengo hecho un programa para bajar archivos; Un descargador vamos; Y me gustaria saber como puedo saber a la velocidad que esta descargando, para entre otras cosas poner un tiempo estimado de descarga... Hay alguna funcion que me permita saber esto???? Gracias;
5
« en: Miércoles 21 de Julio de 2004, 09:54 »
Si, claro, asigno el evento command al identificador correspondiente
6
« en: Martes 20 de Julio de 2004, 11:23 »
Hola, vereis tengo un problemilla; He creado un dialogo modal, y quiero que al pulsar sobre una linea de un menu (como los tipicos de arriba de Archivo, Edicion...) pues me aparezca este dialogo; Lo he hecho muchas veces sin ningun problema; Escribiendo la funcion en la funcion C.....View, o en CMainFrame; Ahora bien, yo quiero escribirla en una clase que he creado yo derivada de CFormView, pero al crear la funcion e implementarla como siempre, luego no se me activa el texto que al pulsarlo me sale la ventana; Y por que no puedo hacerlo como siempre??? porque me da un error:
cannot convert parameter 1 from 'class CMainFrame *const ' to 'class CMiFuncion *'
Por que no se me activa para llamar a la ventana????? Es que necesito otra funcion????? Gracias, y si se os ocurre lo ke sea decirmelo;
void CMiFuncion::OnInsertartexto() { CInsertarTexto DlgTexto(this); DlgTexto.DoModal(); }
Asi es como llamo para que salga el dialogo; Y no se me activa lo que esta asociado a esta funcion
7
« en: Martes 13 de Julio de 2004, 12:50 »
Buenos dias a tod@s!!! Vereis, quiero hacer una especie de tabla; Para ello he utilizado un list control, he creado las columnas, pero mi problema es que no me escribe en las "celdas2 nada; Lo hago asi:
Lo implemento en la funcion OnInitialUpdate()
m_wndTreeList.InsertColumn(0, "Nombre",LVCFMT_LEFT,100); m_wndTreeList.InsertColumn(1, "Telefono", LVCFMT_LEFT, 100); m_wndTreeList.InsertColumn(2, "Carrera", LVCFMT_RIGHT, 100);
Asi es como creo las columnas, que me aparecen bien; Pero a la hora de rellenar las filas no me hace nada:
m_wndTreeList.SetItemText(1, 1, "Pedro"); m_wndTreeList.SetItemText(1, 3, "Abogado");
Alguien sabe a que se debe????
PD: m_wndtreeList es la variable asociada al control list de tipo CListCtrl
Gracias
8
« en: Lunes 5 de Julio de 2004, 15:30 »
Gracias, al final lo hize con una estructura de handles;
9
« en: Viernes 2 de Julio de 2004, 11:03 »
Hola a todos!!!! Casi tengo solucionado mi problema de hilos, gracias a mucha gente que me ha ayudado, y guiado; El problema era modificar una caja de texto desde otro hilo, distinto al original, que es donde se creo; Para ello:
HWND HandleEvolucionDescarga = m_pPrincipal>m_CtrlEvolucionDescarga.GetSafeHwnd(); Handle de la ventana que quiero modficar; Se la paso al hilo: AfxBeginThread(HiloDescarga, (LPVOID)HandleEvolucionDescarga);
En el hilo creo un objeto: CEdit* EvolucionDescarga = (CEdit*) CWnd::FromHandle ((HWND)pEvolucionDescarga);
Y a partir de este, modifico el contenido:
EvolucionDescarga->GetWindowText(tmp); tmp += _T("\r\n"); tmp += _T("Guardando en el fichero:"); EvolucionDescarga->SetWindowText(tmp);
Me sale perfectamente, pero ahora bien, realmente lo que quiero es modicar varias cajas de texto, encuadradas en un control por pestañas, mi idea era pasar por los parametros del hilo, tantos handles como ventanas, pero me da un error, no se si es ke no se puede, o no se...:
HWND HandleEvolucionDescarga = m_pPrincipal->m_CtrlEvolucionDescarga.GetSafeHwnd();
HWND HandleDescargados = m_pPrincipal->m_CtrlDescargados.GetSafeHwnd();
AfxBeginThread(HiloDescarga, (LPVOID)HandleEvolucionDescarga, (LPVOID)HandleDescargados);
Me da un error en la llamada al hilo, en AfxBegin..., para ello tengo declarado el hilo:
HiloDescarga(LPVOID,LPVOID);
Me da el siguiente error: none of the 2 overloads can convert parameter 1 from type 'unsigned int (__cdecl *)(void *,void *)'
Gracias por leerme, y gracias por ayudarme;
10
« en: Lunes 21 de Junio de 2004, 12:19 »
Buenos dias, tengo implementado un boton que al pulsarlo emerge una e¡ventana para seleccionar un directorio de los del disco duro; Tipico en las instalaciones de programas para seleccionar la ruta donde grabar; Para ello he utilizado la funcion SHBrowseForFolder, ahora bien, en otra parte, tambien quiero visualizar digamos el contenido del disco duro, o una parte de esto pero no en una ventana, sino en la vista principal; No se si me explico, como por ejemplo la ventana del explorador de windows; Que funcion se puede utilizar para esto???? Gracias por leer
11
« en: Miércoles 16 de Junio de 2004, 13:22 »
Gracias, me pondre manos a la obra.
12
« en: Miércoles 16 de Junio de 2004, 12:58 »
La ventana es un control de dialogo que creo yo, es una caja de texto, que forma parte de un control con pestañas;
13
« en: Miércoles 16 de Junio de 2004, 12:20 »
Gracias por contestar; Pues es una ventana que yo creo; Se el nombre;
FindWindow(nombre de la clase, caption), funciona asi, no???? Devuelve el handle, que es el identifcador de la ventana, y es de tipo HWND?????
14
« en: Miércoles 16 de Junio de 2004, 12:05 »
Hola, buenos dias a todos; necesito saber el handle de una ventana, como puedo saberlo??? Que funcion me lo dice??? gracias
15
« en: Martes 15 de Junio de 2004, 11:29 »
Gracias por contestar, de todas formas, creo que Position no es funcion miembro de CProgressCtrl, de todas formas, asi iria avanzando una posicion cada vez, y yo no es eso lo ke busco, yo kiero ke avance una posicion cada tantas veces ke se ejecuta otra cosa; De todas formas, supongo ke aunke no es muy estetico lo ke tengo hecho esta bien, el fallo debe ser en el uso de las funciones; pero cuando debe avanzar creo ke esta bien;
16
« en: Martes 15 de Junio de 2004, 11:01 »
Hola a todos, ando dandole vueltas a un problemilla y no encuentro solucion; Vereis, quiero ver la evolucion de un programa mediante una barra de progreso; Pues bien, no consigo verlo en una franja, siempre vuelve otra vez al principio y se para en la mitad, cuando yo kiero ke coincida el final del programa con el final de la barra, camos, lo logico; tengo puesto esto:
Longitud es de tipo long, pues es un numero amplio; Pongo 39 porque son el numero de cudraditos que tienen mi barra de control; Lo que hago es indicar el rango, entre 0, y esa longitud; Y como para esa longitud quiero tener rellenos los 39 cuadraditos, para un cudradito tienen que haber pasado longitud/39 veces; Cuando haya pasado esas veces, relleno un cuadro, y si no sigo decrementando;
m_Progreso.SetRange (0, longitud); avance = longitud / 39; distancia=avance;
while(longitud--) { if (avance == 0) { m_Progreso.SetStep(1); avance = distancia; } else avance--; m_Progreso.StepIt(); }
Pero no me funciona, y no veo el por que esta mal, supongo ka habra formas mas elegantes de hacerlo, si alguien me puede echar una mano, me hara un gran favor; Muchas gracias;
17
« en: Martes 15 de Junio de 2004, 10:59 »
Hola a todos, ando dandole vueltas a un problemilla y no encuentro solucion; Vereis, quiero ver la evolucion de un programa mediante una barra de control; Pues bien, no consigo verlo en una franja, siempre vuelve otra vez al principio y se para en la mitad, cuando yo kiero ke coincida el final del programa con el final de la barra, camos, lo logico; tengo puesto esto:
Longitud es de tipo long, pues es un numero amplio; Pongo 39 porque son el numero de cudraditos que tienen mi barra de control; Lo que hago es indicar el rango, entre 0, y esa longitud; Y como para esa longitud quiero tener rellenos los 39 cuadraditos, para un cudradito tienen que haber pasado longitud/39 veces; Cuando haya pasado esas veces, relleno un cuadro, y si no sigo decrementando;
m_Progreso.SetRange (0, longitud); avance = longitud / 39; distancia=avance;
while(longitud--) { if (avance == 0) { m_Progreso.SetStep(1); avance = distancia; } else avance--; m_Progreso.StepIt(); }
Pero no me funciona, y no veo el por que esta mal, supongo ka habra formas mas elegantes de hacerlo, si alguien me puede echar una mano, me hara un gran favor; Muchas gracias;
18
« en: Jueves 3 de Junio de 2004, 15:01 »
Vereis quiero dividr mi vista en varias partes, para posteriormente poner en cada parte distintas cosas; Bien, pues me divide la vista como deseo, yo lo que quiero es hacer pues como un frame a la izquierda, como las paginas webs, pues bien, yo esa division la quiero fija, pero no soy capaz, siempre me permite desplazarla a la izquierda o a la derecha; Como se puede deshabilitar esa posibilidad???? Esta es la funcion con la que hago la division:
CSplitterWnd m_mainSplitter;
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // Creamos la vista con una sola fila y dos columnas if ( !m_mainSplitter.CreateStatic( this, 1, 2 ) ) { return FALSE; }
// Vista para cada una de los paneles creados if ( !m_mainSplitter.CreateView( 0, 0, RUNTIME_CLASS(CVistaPrincipalView), CSize(200), pContext ) ) { return FALSE; }
if ( !m_mainSplitter.CreateView( 0, 1, RUNTIME_CLASS(CVistaPrincipal), CSize(), pContext ) ) { return FALSE; }
return TRUE; }
19
« en: Martes 1 de Junio de 2004, 11:12 »
Ya esta solucionado, me sale el mismo dialogo que pones arriba pero de otra forma:
void CDescargarArchivo::OnFileOpen() { typedef char StringType[MAX_PATH]; BROWSEINFO bi; StringType Folder; StringType FullPath; char Title[] = "Selecciona el Directorio Destino";
// Initialization code for the BROWSEINFO struct: bi.hwndOwner = this->m_hWnd; bi.pszDisplayName = Folder; bi.lpszTitle = Title; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.pidlRoot = NULL; bi.lpfn = NULL;
if (SHGetPathFromIDList(::SHBrowseForFolder(&bi), FullPath)) { m_sGuardarComo = FullPath; // Here we assume the m_Dir is a variable associated with an edit box UpdateData(FALSE); // Put data into edit boxes (or do whatever you want to do with it) }
}
20
« en: Lunes 31 de Mayo de 2004, 12:05 »
Con el codigo de abajo, al pulsar un boton me sale la tipica ventana de windows para abrir un archivo, yo lo que quiero es examinar el dico duro para poder seleccionar una ruta; Me lo hace perfecto siempre y cuando sea un archivo, pero no me deja seleccionar un directorio; Deseo seleccionar un directorio, para posteriormente guaradr cosas en el; Se podria hacer????
void CDescargarArchivo::OnFileOpen() { CFileDialog DlgAbrir(true); // llama al constructor
// Definir los pares descripción|filtro DlgAbrir.m_ofn.lpstrFilter = "Ficheros de proyecto \ (*.dsp)\0*.dsp\0Imágenes (*.bmp;*.ico)\0*.bmp;*.ico\0Todos los \ ficheros (*.*)\0*.*\0";
if ( DlgAbrir.DoModal() == IDOK ) { // Visualizar el nombre del fichero en la caja de texto m_sGuardarComo = DlgAbrir.GetPathName(); UpdateData( false ); } }
Es decir, yo lo que quiero es selecionar un directorio, y obtener la ruta del mismo, no seleccionar archivos
21
« en: Sábado 29 de Mayo de 2004, 22:27 »
Muchas gracias por contestar
22
« en: Viernes 28 de Mayo de 2004, 20:08 »
Por fin he encontrado informacion; Ya no hace falta; Si lo consigo y a alguien le interesa que lo pregunte; Buenas Tardes
23
« en: Viernes 28 de Mayo de 2004, 10:38 »
Tengo un problema, estoy haciendo en visual c++ una aplicacion, y quiero hacer como los programas de instalacion, cuando te dan la opcion de cambiar la ruta donde se instalara; Es decir, quiero que al pulsar un boton, me aparezca la estructura jerarquica de los directorios; C, D, los directorios de cada uno... Pues bien, no se como hacer el arbol, no se por donde empezar, en el libro de Ceballos no viene nada de estructuras en arbol, y en internet no he sido capaz de encontrar informacion; Si alguien puede orientarme un poco; Gracias por lerme;
24
« en: Martes 25 de Mayo de 2004, 18:01 »
Perfecto!!!!!!!!!!!!!!!!!! Muchisimas gracias!!!!!!!!!!!!!!! Me has quitado un peso de encima, asi queda muchisimo mejor, si no hubiese sido por tu ayuda me hubiera tirao un monton de tiempo; Muchas gracias de verdad, a ver si te ayudo yo en algo!!!!!!
25
« en: Lunes 24 de Mayo de 2004, 17:44 »
Estoy haciendo una aplicacion, y tengo una caja de texto en la cual se puede o no insertar texto; Pues bien, para que sea mas elegante, quiero poner una casillade verificacion, la cual si esta seleccionada me deje insertar texto en la caja de texto de al lado, y si no esta no me deje; Es decir, la caja de texto por ejemplo al principio esta como solo lectura, pero si activo la casilla de verificacion se me habilita para poder escribir; Pero no se como hacerlo, hay alguna forma de modifcar segun el estado de esa casilla la propiedad de solo lectura??? Si sabeis alguna forma de hacerlo, decirmelo, me ayudareis; Gracias
|
|
|