TTrackBar y Tprogress creados de código fuente.

TTrackBar y Tprogress creados de código fuente.

Postby Vikthor » Fri Oct 07, 2005 4:57 pm

Al crear los controles desde código fuente obtengo un error de creación al momento de activar el dialogo.

Pero si defino el dialogo como "NO MODAL", los controles se muestran perfectamente.

He revisado la clase TDialog para ubicar en donde está el problema y observe que el método Activate hace uso de dos funciones si la variable lModal tiene valor TRUE, y es ahí donde se devuelve un valor 65535 que indica error, en la creación del dialogo.

Antonio, alguna sugencia?
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Re: TTrackBar y Tprogress creados de código fuente.

Postby Hernan Diego Ceccarelli » Fri Oct 07, 2005 5:01 pm

Vikthor wrote:Al crear los controles desde código fuente obtengo un error de creación al momento de activar el dialogo.

Pero si defino el dialogo como "NO MODAL", los controles se muestran perfectamente.

He revisado la clase TDialog para ubicar en donde está el problema y observe que el método Activate hace uso de dos funciones si la variable lModal tiene valor TRUE, y es ahí donde se devuelve un valor 65535 que indica error, en la creación del dialogo.

Antonio, alguna sugencia?


Sip me tope con ese tema una vez, crealos en el ON INIT de la caja de dialogo, cuando la misma ya posee handle real.

Salu2
Hernan
User avatar
Hernan Diego Ceccarelli
 
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina

Postby Vikthor » Fri Oct 07, 2005 5:59 pm

Hernán :

Gracias por responder, aunque la opción que me indicas resuelve el problema, yo no deseo usar la clausula ON INIT para crearlos correctamente.

Llevó dos días buscando la solución y sí alguien me puede iluminar el camino, desde ya estoy agradecido.
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Hernan Diego Ceccarelli » Fri Oct 07, 2005 6:11 pm

Vikthor wrote:Hernán :

Gracias por responder, aunque la opción que me indicas resuelve el problema, yo no deseo usar la clausula ON INIT para crearlos correctamente.

Llevó dos días buscando la solución y sí alguien me puede iluminar el camino, desde ya estoy agradecido.



Es que las funciones que INCRUSTAN el array de controles en tiempo de ejecucion cuando se crea el dialogo realmente, son de tipo INTERNAL, y no puedo ver donde esta el problema que dices. Seguramente ahi esta el problema, no me cabe la duda. Este control necesita un Initialize especial cuando se crea, el TProgress por ejemplo. Deberias charlarlo con Antonio.


Salu2
Hernan
User avatar
Hernan Diego Ceccarelli
 
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina

Postby Vikthor » Fri Oct 07, 2005 8:06 pm

Seguramente que sí, la llamada a oWnd:DefControl() se hace cuando el hWnd de la ventana contenedora está vació, pero hasta ahí es donde he llegado.

Espero que Antonio, no pueda decir por donde buscar los tiros.
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Hernan Diego Ceccarelli » Fri Oct 07, 2005 11:15 pm

Vikthor wrote:Seguramente que sí, la llamada a oWnd:DefControl() se hace cuando el hWnd de la ventana contenedora está vació, pero hasta ahí es donde he llegado.

Espero que Antonio, no pueda decir por donde buscar los tiros.


Hola,
No faltara el InitCommonControlsEx ???????

Salu2
User avatar
Hernan Diego Ceccarelli
 
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina

Postby Vikthor » Mon Oct 10, 2005 5:03 pm

Hernan Diego Ceccarelli wrote:
Hola,
No faltara el InitCommonControlsEx ???????

Salu2


Al agregar esa función en el New de las clases , solamente TProgress se soluciona :D , TTrackbar sigue presentando el mismo problema :( .

Gracias Hernán.
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Hernan Diego Ceccarelli » Mon Oct 10, 2005 11:48 pm

Vikthor wrote:
Hernan Diego Ceccarelli wrote:
Hola,
No faltara el InitCommonControlsEx ???????

Salu2


Al agregar esa función en el New de las clases , solamente TProgress se soluciona :D , TTrackbar sigue presentando el mismo problema :( .

Gracias Hernán.



Deberias inicializar con la misma funcion desde C, PERO como parametro ICC_BAR_CLASSES

Recuerda el API.
Code: Select all  Expand view
#define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header
#define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips
#define ICC_BAR_CLASSES      0x00000004 // toolbar, statusbar, trackbar, tooltips
#define ICC_TAB_CLASSES      0x00000008 // tab, tooltips
#define ICC_UPDOWN_CLASS     0x00000010 // updown
#define ICC_PROGRESS_CLASS   0x00000020 // progress
#define ICC_HOTKEY_CLASS     0x00000040 // hotkey
#define ICC_ANIMATE_CLASS    0x00000080 // animate
#define ICC_WIN95_CLASSES    0x000000FF
#define ICC_DATE_CLASSES     0x00000100 // month picker, date picker, time picker, updown


Avisa si te anduvo :shock:
User avatar
Hernan Diego Ceccarelli
 
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina

Postby Vikthor » Tue Oct 11, 2005 2:38 pm

Hernan Diego Ceccarelli wrote:Deberias inicializar con la misma funcion desde C, PERO como parametro ICC_BAR_CLASSES

Recuerda el API.
Code: Select all  Expand view
#define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header
#define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips
#define ICC_BAR_CLASSES      0x00000004 // toolbar, statusbar, trackbar, tooltips
#define ICC_TAB_CLASSES      0x00000008 // tab, tooltips
#define ICC_UPDOWN_CLASS     0x00000010 // updown
#define ICC_PROGRESS_CLASS   0x00000020 // progress
#define ICC_HOTKEY_CLASS     0x00000040 // hotkey
#define ICC_ANIMATE_CLASS    0x00000080 // animate
#define ICC_WIN95_CLASSES    0x000000FF
#define ICC_DATE_CLASSES     0x00000100 // month picker, date picker, time picker, updown


Avisa si te anduvo :shock:


Agregé está pequeña función para inicializar el control desde C, sin embargo sigue mostrando el error.
Code: Select all  Expand view
#pragma BEGINDUMP

#include <windows.h>
#include <vfw.h>
#include <WinTen.h>
#include <ClipApi.h>
#include <shlobj.h>
#include <commctrl.h>

#include "hbapi.h"

HB_FUNC( INITTRACKB )
{
   INITCOMMONCONTROLSEX i;

   _bset( ( char * ) &i, 0, sizeof( INITCOMMONCONTROLSEX ) );

   i.dwSize = sizeof( INITCOMMONCONTROLSEX );
   i.dwICC  = ICC_BAR_CLASSES;

   if( ! InitCommonControlsEx( &i ) )
      MessageBox( 0, "can't load Common controls extended", "From TrackBar.Prg", 0 );
}
#pragma ENDDUMP
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests