FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TTrackBar y Tprogress creados de c贸digo fuente.
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Fri Oct 07, 2005 04: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
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
Re: TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Fri Oct 07, 2005 05: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
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Fri Oct 07, 2005 05: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
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Fri Oct 07, 2005 06: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
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Fri Oct 07, 2005 08: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
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: 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
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Mon Oct 10, 2005 05: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 :-) , TTrackbar sigue presentando el mismo problema :-) .

Gracias Hern谩n.
Vikthor
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: 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 :-) , 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.
#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 :-)
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TTrackBar y Tprogress creados de c贸digo fuente.
Posted: Tue Oct 11, 2005 02:38 PM
Hernan Diego Ceccarelli wrote:
Deberias inicializar con la misma funcion desde C, PERO como parametro ICC_BAR_CLASSES

Recuerda el API.
#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 :-)


Agreg茅 est谩 peque帽a funci贸n para inicializar el control desde C, sin embargo sigue mostrando el error.
#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

Continue the discussion