TTrackBar y Tprogress creados de código fuente.
TTrackBar y Tprogress creados de código fuente.
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?
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
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
Re: TTrackBar y Tprogress creados de código fuente.
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.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?
Salu2
Hernan
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
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
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
Vikthor wrote:Al agregar esa función en el New de las clases , solamente TProgress se soluciona , TTrackbar sigue presentando el mismo problema .Hernan Diego Ceccarelli wrote:
Hola,
No faltara el InitCommonControlsEx ???????
Salu2
Gracias Hernán.
Deberias inicializar con la misma funcion desde C, PERO como parametro ICC_BAR_CLASSES
Recuerda el API.
Code: Select all
#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
Agregé está pequeña función para inicializar el control desde C, sin embargo sigue mostrando el error.Hernan Diego Ceccarelli wrote: Deberias inicializar con la misma funcion desde C, PERO como parametro ICC_BAR_CLASSES
Recuerda el API.Avisa si te anduvoCode: Select all
#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
Code: Select all
#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