Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Elemento del menú a la derecha (https://www.clubdelphi.com/foros/showthread.php?t=84847)

José Luis Garcí 15-12-2013 14:19:32

Elemento del menú a la derecha
 
Hola compañeros, estoy intentando pasar mi último elemento del menú a la derecha y no lo logro, he seguido el código de las siguientes página y no lo logro

http://neftali.clubdelphi.com/?p=50

De hecho de esta hice pruebas y funcionaba, coloco el procedure y en el oncreate coloco

Código Delphi [-]
MenuItemAtRight(Self.MainMenu1,Windows.GetMenuItemCount(Self.MainMenu1.Handle)-1);
y nada.

de las siguientes páginas he probado con

http://www.scalabium.com/faq/dct0060.htm

Con los dos metidos propuestos y antes de esta con e el que hay en about en

http://delphi.about.com/od/adptips20...talignmenu.htm

y no logro que funcione, tengo que hacer algo más?

Estoy en Windows 7 a 64 b. con delphi 2010 y en mi form actualmente esta el evento Show, el Oncreate la selección del item para salir (es una barra de herramientas) el último item tiene el Caption R y es el iemmenu Reloj1 y aparte de est el Tmainmenu es Menu y hay un timer con interval 100 y con el siguiente código

Código Delphi [-]
procedure TFmenu.Timer1Timer(Sender: TObject);
begin
   Menu.Items[5].Caption:='Día: '+DateToStr(now)+ ' Hora: [ '+TimeToStr(Now)+' ]';
end;

Si podéis echarme una mano se agradecería.

dec 15-12-2013 18:53:51

Hola,

No sirve de nada pero diré que he probado con el código de Neftalí y con...

Código:

MenuItemAtRight(MainMenu1,GetMenuItemCount(Self.MainMenu1.Handle)-1);
... y funciona como se espera en Windows 8.1 32 bits con Delphi XE2... :confused:

ecfisa 15-12-2013 21:11:45

Hola José Luis.

En Windows 8.1 64 bits con Delphi 7 obtengo el mismo resultado que vos en los enlaces que mencionas.

Sin embargo, pude enviar sin problemas a la derecha al último Item del TMainMenu usando la funcion ModifyMenu de este modo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with MainMenu1 do
    ModifyMenu(Handle,
               Items.Count-1,
               MF_BYPOSITION or MF_POPUP or MF_HELP,
               Items[Items.Count-1].Handle,
               PChar(Items[Items.Count-1].Caption));
end;

Saludos :)

José Luis Garcí 16-12-2013 10:46:54

Gracias Ecfisa, pero no hay manera, voy a dejar de preocuparme por ello y seguir adelante



La franja horaria es GMT +2. Ahora son las 07:58:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi