Pessoal,
Estou testando essa função da hwgui e só estou conseguindo sucesso com a primeira instrução abaixo:
hwg_EnableMenuSystemItem( oMainWindow:handle, SC_CLOSE, .F. ) // Aqui funciona (desabilita o X da janela)
hwg_EnableMenuSystemItem( oMainWindow:handle, SC_MAXIMIZE, .F. ) // Aqui não funciona
hwg_EnableMenuSystemItem( oMainWindow:handle, SC_MINIMIZE, .F. ) // Aqui não funciona
Aluguma dica?
Ajuda com hwg_EnableMenuSystemItem
Moderador: Moderadores
Ajuda com hwg_EnableMenuSystemItem
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Ajuda com hwg_EnableMenuSystemItem
Pessoal,
Por favor quem quiser, façam os testes.
Reportem erros.
Os exemplo abaixo desabilita os controles da janela ativa.
Por favor quem quiser, façam os testes.
Reportem erros.
Os exemplo abaixo desabilita os controles da janela ativa.
Código: Selecionar todos
FUNCTION MAIN
INIT WINDOW oMainWindow ;
MAIN ;
TITLE "Teste" ;
ICON oIconApp ;
AT 0,0 ;
SIZE 640,480 ;
FONT oFont ;
COLOR 16760439 ;
STYLE DS_CENTER + WS_VISIBLE + WS_SYSMENU;
ON INIT {||DesabilitaBotoesSysMenu()}
SET TIMER oTimer OF oMainWindow VALUE 5000 ACTION {||HabilitaBotoesSysMenu()}
oMainWindow:Center()
oMainWindow:Activate()
RETURN Nil
FUNCTION DesabilitaBotoesSysMenu
//DisableSysMenu(oMainWindow:handle,SC_CLOSE)
// posicoes que desabilitam o controle da janela:
// 0 = restaurar
// 2 = resize da janela
// 3 = minimizar da janela
// 4 = maximizar da janela
// 6 = fechar da janela
DisableSysMenu2(oMainWindow:handle,2) // POR MF_BYPOSITION
DisableSysMenu(oMainWindow:handle,SC_SIZE) // POR MF_BYCOMMAND
RETURN -1
FUNCTION HabilitaBotoesSysMenu
oMainWindow:oTimer:End()
EnableSysMenu2(oMainWindow:handle,2) // POR MF_BYPOSITION
EnableSysMenu(oMainWindow:handle,SC_SIZE) // POR MF_BYCOMMAND
RETURN -1
Código: Selecionar todos
//ControleJanela.c
#pragma BEGINDUMP
#define OEMRESOURCE
#include "hwingui.h"
#include <commctrl.h>
#ifdef __DMC__
#define MIIM_BITMAP 0x00000080
#endif
#include "hbapiitm.h"
#include "hbvm.h"
#include "hbstack.h"
#define FLAG_DISABLED 1
HB_FUNC ( DISABLESYSMENU )
{
HWND hWnd;
HMENU hMenu;
int menuItemCount;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, FALSE );
if (hMenu != 0)
{
DeleteMenu( hMenu, HB_PARHANDLE( 2 ), MF_BYCOMMAND);
}
{
hb_retni( menuItemCount );
}
}
HB_FUNC ( ENABLESYSMENU )
{
HWND hWnd;
HMENU hMenu;
int menuItemCount;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, TRUE );
if (hMenu != 0)
{
DeleteMenu( hMenu, HB_PARHANDLE( 2 ), MF_BYCOMMAND);
}
{
hb_retni( menuItemCount );
}
}
HB_FUNC ( DISABLESYSMENU2 )
{
HWND hWnd;
HMENU hMenu;
int menuItemCount;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, FALSE );
menuItemCount = GetMenuItemCount(hMenu);
if (hMenu != 0)
{
RemoveMenu( hMenu, HB_PARHANDLE( 2 ), MF_BYPOSITION);
}
{
hb_retni( menuItemCount );
}
}
HB_FUNC ( ENABLESYSMENU2 )
{
HWND hWnd;
HMENU hMenu;
int menuItemCount;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, TRUE );
if (hMenu != 0)
{
RemoveMenu( hMenu, HB_PARHANDLE( 2 ), MF_BYPOSITION);
}
{
hb_retni( menuItemCount );
}
}
#pragma ENDDUMP
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
