FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cambiar captions de botones en InputQuery
Estimados colegas del foro:
Como estan?, mi duda es la siguiente: nesecito cambiar el caption de los botones en un InputQuery, ya que por default me muestra 'OK' y 'Cancel', y nesecito cambiarlos por un 'Aceptar' y un 'Cancelar' mas castellanizado... Muchias gracias desde ya... Saludos desde Argentina =:Perio:= |
#2
|
||||
|
||||
Hola,
Echa un vistazo en este apartado del ClubDelphi y trata de utilizar alguno de los "recursos/cadenas/constantes" de la versión de Delphi que precises. Última edición por dec fecha: 30-05-2005 a las 15:44:30. Razón: (corrección del texto) |
#3
|
|||
|
|||
Gracias
Dec , gracias por la sugerencia pero lo resolvi asi:
Código:
function InputQuery(const ACaption, APrompt: string; var Value: string; AOwner: TForm): Boolean; const SMsgDlgOK = '&Aceptar'; SMsgDlgCancel = '&Cancelar'; var x, y, w, h: Integer; Form: TForm; Edit: TEdit; Prompt:TLabel; sPrompt:String; DialogUnits: TPoint; ButtonTop, ButtonWidth, ButtonHeight, ButtonLeft: Integer; begin Result := False; Form := TForm.Create(Application); with Form do try //Inicializa unidades de proporcionalidad para todos los componentes DialogUnits.X:= 8; DialogUnits.Y:= 16; //Setea las propiedades del formulario Canvas.Font := Font; BorderStyle := bsSingle; Caption := ACaption; ClientWidth := round((180 * DialogUnits.X)/4); ClientHeight := round((63 * DialogUnits.Y)/8); // Centrado Desktop Horizontal w := (AOwner.Width - Form.Width) div 2; X := AOwner.Left + W; if x < 0 then x := 0 else if x + w > Screen.Width then x := Screen.Width - Form.Width; Form.Left := X; // Centrado Desktop Vertical h := (AOwner.Height - Form.Height) div 2; y := AOwner.Top + h; if y < 0 then y := 0 else if y + h > Screen.Height then y := Screen.Height - Form.Height; Form.Left := X; Form.Top := Y; //Crea un Label en el centro del form Prompt := TLabel.Create(Form); with Prompt do begin Parent := Form; Width := round((164 * DialogUnits.X)/4); //A la altura del label se le suma una cantidad proporcional a la //longitud de la cadena, para visualizar todo el contenido del label Height := 13 + round(Length(APrompt)/5); //Quitamos la propiedad autosize para que el tamaño del label sea fijo //y sea posible usar la propiedad de ajuste de linea 'WordWrap' AutoSize := False; //*******************************************************************// //La propiedad WordWrap realiza un ajuste de linea en el label segun // //sus dimenciones // //*******************************************************************// WordWrap := True; Left := round((8 * DialogUnits.X)/4); Top := round((8 * DialogUnits.Y)/8); Caption := APrompt; //*******************************************************************// //Incrementamos la altura del formulario en proporcion a la altura // //adquirida por el label // //*******************************************************************// form.Height:= form.Height+round(Length(APrompt)/4); end; //Crea un edit debajo del label Edit := TEdit.Create(Form); with Edit do begin Parent := Form; Left := Prompt.Left; //********************************************************************************// //El margen superior del edit es tambien en proporcion a las dimenciones // //del label, segun la cantidad de lines que tenga este '+round(Prompt.Height/2)' // //********************************************************************************// Top := round((19 * DialogUnits.Y)/8)+round(Prompt.Height/2); Width := round((164 * DialogUnits.X)/4); MaxLength := 255; Text := Value; SelectAll; end; //*********************************************************************************// // Iniciliza los valores de los botones // // El margen superior de los botones son en proporcion a las dimenciones // // del label, segun la cantidad de lines que tenga este '+round(Prompt.Height/2)' // // <<< Todos los componentes se acomodan segun el tamaño del label >>> // //*********************************************************************************// ButtonTop := round((41 * DialogUnits.Y)/8)+round(Prompt.Height/2); ButtonWidth := round((50 * DialogUnits.X)/4); ButtonHeight := round((14 * DialogUnits.Y)/8); //Crea el boton Aceptar with TButton.Create(Form) do begin Parent := Form; Caption := SMsgDlgOK; ModalResult := mrOk; default := True; SetBounds(round((38 * DialogUnits.X)/4), ButtonTop, ButtonWidth, ButtonHeight); end; //Crea el boton Cancelar with TButton.Create(Form) do begin Parent := Form; Caption := SMsgDlgCancel; ModalResult := mrCancel; Cancel := True; SetBounds(round((92 * DialogUnits.X)/4), ButtonTop, ButtonWidth, ButtonHeight); end; if ShowModal = mrOk then begin Value := Edit.Text; Result := True; end; finally Form.Free; end; end; Saludos Perio Última edición por Perio fecha: 12-07-2005 a las 22:20:43. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|