Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Barra de inicio (QUE SE OCULTE) no que despaparesca

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Barra de inicio (QUE SE OCULTE) no que despaparesca Responder citando

Hola gente he bucado y no consigo hacer que la barra de inicio de windows se oculte automaticamente (que tenga el comportamiento como si habilitamos el CheckBox que dice Ocultar automaticamente en las propiedades de la misma), no que desasparesca

si alguien sabe como hacerlo me hace un gran favor

Desde ya gracias

Saludos a todos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

//Si estado es 0 pone la barra en ocultacion automatica.
//Si estado es 1 pone la barra siempre visible

void EstadoBarraDeTareas(int estado)
{
HWND taskbar;
taskbar=FindWindow("Shell_TrayWnd",NULL);
if (!taskbar) return;
APPBARDATA pabd;
pabd.hWnd=taskbar;
switch(estado)
{
case 0:
pabd.lParam=ABS_AUTOHIDE;
pabd.cbSize=sizeof(pabd);
SHAppBarMessage(ABM_SETSTATE, &pabd);
break;
case 1:
pabd.lParam=ABS_ALWAYSONTOP;
pabd.cbSize=sizeof(pabd);
SHAppBarMessage(ABM_SETSTATE, &pabd);
break;
default:;
}
};
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias mopa!!!, pero me da el siguiente error

[C++ Error] Unit1.cpp(29): E2451 Undefined symbol 'ABM_SETSTATE'

estoy usando Builder 5

????
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Eso es porque pertenece a la API de windows y no has incluido la cabecera donde esta definido. Prueba a incluir:

#include <windows.h>

Un saludo.
mopa
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

hola mopa, inclui la <windows.h> y me sigue dando el mismo error
Sad
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Ok, no problem. vamos por la via rapida:

Pon esto debajo de los includes:

#define ABM_SETSTATE 0x0000000a
#define ABS_AUTOHIDE 0x0000001
#define ABS_ALWAYSONTOP 0x0000002

Y listo. A ver si va Wink
Un saludo
mopa
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola mopa, tu sabes que sigue sin andar, aca te copio el codigo por las dudas

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <windows.h>

#define ABM_SETSTATE 0x0000000a
#define ABS_AUTOHIDE 0x0000001
#define ABS_ALWAYSONTOP 0x0000002

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void TForm1::EstadoBarraDeTareas(int estado)
{
HWND taskbar;
taskbar=FindWindow("Shell_TrayWnd",NULL);
if (!taskbar) return;
APPBARDATA pabd;
pabd.hWnd=taskbar;
switch(estado)
{
case 0:
pabd.lParam=ABS_AUTOHIDE;
pabd.cbSize=sizeof(pabd);
SHAppBarMessage(ABM_SETSTATE, &pabd);
break;
case 1:
pabd.lParam=ABS_ALWAYSONTOP;
pabd.cbSize=sizeof(pabd);
SHAppBarMessage(ABM_SETSTATE, &pabd);
break;
default:;
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
EstadoBarraDeTareas(0);
}
//---------------------------------------------------------------------------


Y en el Unit1.h

#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
void EstadoBarraDeTareas(int estado);
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

Si se te ocurre algo mas me seria de mucha utilidad.

De antemano muchisimnas gracias por tu actitud de ayuda
Saludos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Pon el Siguiente Archivo de Cabecera

#include<shellapi.h>


para referencia.

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200406/04060060.txt
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Tampoco Cesar, no anda, que raro, la verdad que no se que hacer
Saludos!!!
_________________
Siempre hay que tratar de ser el mejor, pero nunca creerse el mejor (Juan Manuel Fangio)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Bien el codigo anterior, lo he probado, sin ningun problema, sin incluir, ningun archivo de cabecera o sea el archivo normal del proyecto..

lo ejecute en Builder 6.0 y no me da problemas, no puedo ejecutarlo en builder 5. ya que no lo tengo..

los archivos de cabecera del proyecto principal, son los que traer por default
vcl.h
y si te causas problemas, pon despues
el
#include <shellapi.h>

debe funcionar, ya que esta funcion, esta echa para el API de Windows
y con la libreria <shellapi.h> debe activarse
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Debe ser que no anda en Builder 5, porque he probado como me dices y nada.
Gracias de todos modos.

Saludos!!!!
_________________
Siempre hay que tratar de ser el mejor, pero nunca creerse el mejor (Juan Manuel Fangio)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.