Results 1 to 7 of 7

Thread: a lil help with tedit

  1. #1

    a lil help with tedit

    here ya go again im making ma fisrt project and i was using UnDelphiX but since alpha stuff cant* be done on it I decided to move to PowerDraw. But now i cant put a edit on it. i mean i can but i cant make it visible. when i change the visible property its show up then go away. I can click on it or change the text but i cant see it. can anyone tell me what im doing wrong ?


    Thx in advance
    :|: Furmiga :|:

  2. #2

    a lil help with tedit

    Put it in a TPanel and it should work.
    Ask me about the xcess game development kit

  3. #3

    that didnt work :(

    Well, i tried put a edit on a panel but both got hided when i start the app... if i try to repaint they pop up again and gone. I really dont know whats happening but of corse when i comment the timer event they, or just the edit, stays ok so i think the problem is the begin / end scene or something... here the on timer event.. take a look i can be doing something wrong...

    Code:
    procedure TForm1.PowerTimer1Render(Sender: TObject);
    begin
      PowerDraw1.Clear($00000000);
      PowerDraw1.BeginScene();
    
      fundo;
      if situacao = 'login' then
      login;
    
      PowerFont1.TextOut('Frame Rate: ' + IntToStr(PowerTimer1.FrameRate) + ' fps' +'   Contador = '+inttostr(contador)+ '   posX ' + inttostr(posx)+ '    PosY '+inttostr(posY), 4, 580, $AFAFAF);
      PowerDraw1.EndScene();
      PowerDraw1.Present();
    end;;

    I just need edits for login / pw at the login screen and a 'memo' or something for a future in game chat.

    Well here the entire code...


    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, PowerTypes, PowerDraw3, PowerTimers, PowerObjects, VTDbUnit,
      PowerFonts, StdCtrls,PDrawEx, ExtCtrls, TranComp, VScreens;
    
    type
      TForm1 = class(TForm)
        PowerDraw1: TPowerDraw;
        PowerTimer1: TPowerTimer;
        ImageList1: TAGFImageList;
        PowerFont1: TPowerFont;
        VTDb1: TVTDb;
        VTDb2: TVTDb;
        Timer1: TTimer;
        VTDb3: TVTDb;
        imagelist2: TAGFImageList;
        procedure fundo;
        procedure login;
        procedure FormCreate(Sender: TObject);
        procedure PowerDraw1DoneDevice(Sender: TObject);
        procedure PowerDraw1InitDevice(Sender: TObject; var ExitCode: Integer);
        procedure PowerTimer1Render(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
        procedure Timer1Timer(Sender: TObject);
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormDblClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      contador, contador2, posX,posY : integer;
      //texto : TStringList;
      situacao : string;
      retangulo : TRect;
      inteiro : Boolean;
      over_bot_login : Boolean;
      over_bot_sair : Boolean;
    
    implementation
    
    uses Math, Unit2;
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
      res : integer;
    begin
      inteiro := true;
      posX := 385;
      posY := 235;
      //texto := TStringList.Create;
      contador := 0;
      contador2 := 0;
      Width := 800;
      Height:= 600;
    
      Res:= VTDb1.Initialize();
      if &#40;Res <> errNone&#41; then
      begin
        MessageDlg&#40;'VTDb error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
        Application.Terminate&#40;&#41;;
        Exit;
      end;
    
      Res&#58;= VTDb2.Initialize&#40;&#41;;
      if &#40;Res <> errNone&#41; then
      begin
        MessageDlg&#40;'VTDb error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
        Application.Terminate&#40;&#41;;
        Exit;
      end;
    
      Res&#58;= VTDb3.Initialize&#40;&#41;;
      if &#40;Res <> errNone&#41; then
      begin
        MessageDlg&#40;'VTDb error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
        Application.Terminate&#40;&#41;;
        Exit;
      end;
    
      Res&#58;= PowerDraw1.Initialize&#40;&#41;;
      if &#40;Res <> errNone&#41; then
      begin
        MessageDlg&#40;'PowerDraw error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
        Application.Terminate&#40;&#41;;
        Exit;
      end;
    
      Res&#58;= PowerDraw1.InitDevice&#40;&#41;;
      if &#40;Res <> errNone&#41; then
      begin
        PowerDraw1.Finalize&#40;&#41;;
        MessageDlg&#40;'Initialization error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
        Application.Terminate&#40;&#41;;
        Exit;
      end;
    
      PowerTimer1.MayRender&#58;= True;
      situacao &#58;= 'login';
    end;
    
    procedure TForm1.PowerDraw1DoneDevice&#40;Sender&#58; TObject&#41;;
    begin
      PowerFont1.Finalize;
      ImageList1.Finalize;
      imagelist2.Finalize;
    end;
    
    procedure TForm1.PowerDraw1InitDevice&#40;Sender&#58; TObject; var ExitCode&#58; Integer&#41;;
    begin
      ExitCode&#58;= PowerFont1.LoadFromVTDb&#40;VTDb1, 'zuric', PowerDraw1.DefTextureFormat&#41;;
      if &#40;ExitCode <> errNone&#41; then
      Exit;
      ExitCode&#58;= ImageList1.LoadFromVTDb&#40;VTDb2&#41;;
      if &#40;ExitCode <> errNone&#41; then
      Exit;
      ExitCode&#58;= ImageList2.LoadFromVTDb&#40;VTDb3&#41;;
      if &#40;ExitCode <> errNone&#41; then
      Exit;
    end;
    
    // ----------------------  INA_CIO DO TIMER ---------------------------
    
    procedure TForm1.PowerTimer1Render&#40;Sender&#58; TObject&#41;;
    begin
      PowerDraw1.Clear&#40;$00000000&#41;;
      PowerDraw1.BeginScene&#40;&#41;;
    
      fundo;
      if situacao = 'login' then
      login;
    
      PowerFont1.TextOut&#40;'Frame Rate&#58; ' + IntToStr&#40;PowerTimer1.FrameRate&#41; + ' fps' +'   Contador = '+inttostr&#40;contador&#41;+ '   posX ' + inttostr&#40;posx&#41;+ '    PosY '+inttostr&#40;posY&#41;, 4, 580, $AFAFAF&#41;;
      PowerDraw1.EndScene&#40;&#41;;
      PowerDraw1.Present&#40;&#41;;
    end;
    
    // ---------------------- FINAL DO TIMER -----------------------------
    
    procedure TForm1.FormDestroy&#40;Sender&#58; TObject&#41;;
    begin
      PowerDraw1.Finalize&#40;&#41;;
    end;
    
    procedure TForm1.FormKeyDown&#40;Sender&#58; TObject; var Key&#58; Word; Shift&#58; TShiftState&#41;;
    var
      Res&#58; Integer;
    begin
      if &#40;Key = VK_ESCAPE&#41; then Close&#40;&#41;;
      if &#40;Key = VK_RETURN&#41;and&#40;ssAlt in Shift&#41; then
      begin
        PowerDraw1.DoneDevice&#40;&#41;;
        PowerDraw1.Windowed&#58;= not PowerDraw1.Windowed;
        if &#40;not PowerDraw1.Windowed&#41; then
        BorderStyle&#58;= bsNone
        else
        BorderStyle&#58;= bsSingle;
        ClientWidth&#58;= PowerDraw1.Width;
        ClientHeight&#58;= PowerDraw1.Height;
        Res&#58;= PowerDraw1.InitDevice&#40;&#41;;
        if &#40;Res <> errNone&#41; then
        begin
          PowerDraw1.Finalize&#40;&#41;;
          PowerTimer1.MayRender&#58;= False;
          MessageDlg&#40;'Initialization error&#58; ' + ErrorString&#40;Res&#41;, mtError, &#91;mbOk&#93;, 0&#41;;
          Close&#40;&#41;;
          Exit;
        end;
      exit;
      end;
      if key = VK_LEFT then
      posX &#58;= posX - 5;
      if key = VK_RIGHT then
      posX &#58;= posX + 5;
      if key = VK_UP then
      posY &#58;= posY - 5;
      if key = VK_DOWN then
      posY &#58;= posY + 5;
    end;
    
    procedure TForm1.Timer1Timer&#40;Sender&#58; TObject&#41;;
    begin
    contador &#58;= &#40;contador + 1&#41; mod 15;
    end;
    
    procedure TForm1.Login;
    var
    fundo &#58; TRect;
    begin
      if inteiro then
      begin
        fundo.Top &#58;= janela_login_X+10;
        fundo.Bottom&#58;= janela_login_X + 90;
        fundo.Left &#58;= janela_login_Y;
        fundo.Right &#58;= janela_login_Y + 250;
        PowerDraw1.FillRect&#40;fundo,cColor4&#40;$00699600,$00699600,$00699600,$00699600&#41;,effectMultiply&#41;;
        PowerDraw1.FillRect&#40;janela_login_Y+60,janela_login_X+15,160,20,$808080,effectSrcColor&#41;;
        PowerDraw1.FillRect&#40;janela_login_Y+60,janela_login_X+40,160,20,$808080,effectSrcColor&#41;;
        PowerFont1.TextOut&#40;'Login&#58;', janela_login_Y+10, janela_login_X+15, $AFAFAF&#41;;
        PowerFont1.TextOut&#40;'Pass&#58;' , janela_login_Y+10, janela_login_X+40, $AFAFAF&#41;;
        if over_bot_login then
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;5&#93;, pBounds4&#40;janela_login_Y+60,janela_login_X+65,50,15&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;1&#41;,effectSrcAlpha&#41;
        else
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;5&#93;, pBounds4&#40;janela_login_Y+60,janela_login_X+65,50,15&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;0&#41;,effectSrcAlpha&#41;;
        if over_bot_sair then
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;6&#93;, pBounds4&#40;janela_login_Y+170,janela_login_X+65,50,15&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;1&#41;,effectSrcAlpha&#41;
        else
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;6&#93;, pBounds4&#40;janela_login_Y+170,janela_login_X+65,50,15&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;0&#41;,effectSrcAlpha&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;1&#93;, pBounds4&#40;janela_login_Y,janela_login_X,250,90&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;0&#41;,effectSrcAlpha&#41;;
      end
      else
      PowerDraw1.TextureMap&#40;ImageList1.Images&#91;2&#93;, pBounds4&#40;janela_login_Y,janela_login_X,250,10&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;0&#41;,effectSrcAlpha&#41;;
    end;
    
    procedure TForm1.FormMouseDown&#40;Sender&#58; TObject; Button&#58; TMouseButton;Shift&#58; TShiftState; X, Y&#58; Integer&#41;;
    var mousepos &#58; TPoint;
    begin
      GetCursorPos&#40;mousepos&#41;;
      if situacao = 'login' then
      begin
        if pointinrect&#40;mousepos,bounds&#40;janela_login_Y,janela_login_X,ImageList1.Images&#91;2&#93;.PatternWidth,10&#41;&#41;then//ImageList1.Images&#91;2&#93;.PatternHeight&#41;&#41; then
        begin
          pode_arrastar_login &#58;= true;
          posicao_do_click_x &#58;= mousepos.x;
          posicao_do_click_y &#58;= mousepos.y;
        end;
        if pointinrect&#40;mousepos,bounds&#40;janela_login_Y+230,janela_login_X,15,10&#41;&#41;then//ImageList1.Images&#91;2&#93;.PatternHeight&#41;&#41; then
        inteiro &#58;= not inteiro;
        if over_bot_sair then
        close;
      end;
    end;
    
    procedure TForm1.FormMouseMove&#40;Sender&#58; TObject; Shift&#58; TShiftState; X,Y&#58; Integer&#41;;
    var mousepos &#58; TPoint;
    begin
      Cursor &#58;= crDefault;
      if situacao = 'login' then
      begin
        if pode_arrastar_login then
        begin
          if &#40;x > 10&#41; and &#40;x < 790&#41; then
          begin
            if posicao_do_click_x > x then
            begin
              janela_login_Y &#58;=  janela_login_Y - &#40;posicao_do_click_x - x&#41;;
              posicao_do_click_x &#58;= x;
            end;
            if posicao_do_click_x < x then
            begin
              janela_login_Y &#58;=  janela_login_Y + &#40;x - posicao_do_click_x&#41;;
              posicao_do_click_x &#58;= x;
            end;
          end;
          if posicao_do_click_y > y then
          begin
            janela_login_X &#58;=  janela_login_X - &#40;posicao_do_click_y - y&#41;;
            posicao_do_click_y &#58;= y;
          end;
          if posicao_do_click_Y < y then
          begin
            janela_login_X &#58;=  janela_login_X + &#40;y - posicao_do_click_y&#41;;
            posicao_do_click_y &#58;= y;
          end;
        end;
        GetCursorPos&#40;mousepos&#41;;
        if inteiro then
        begin
          if &#40;pointinrect&#40;mousepos,bounds&#40;janela_login_Y+60,janela_login_X+40,160,20&#41;&#41;&#41; or &#40;pointinrect&#40;mousepos,bounds&#40;janela_login_Y+60,janela_login_X+15,160,20&#41;&#41;&#41;then
          Cursor &#58;= crIBeam
          else
          Cursor &#58;= crDefault;
          if &#40;pointinrect&#40;mousepos,bounds&#40;janela_login_Y+60,janela_login_X+65,50,15&#41;&#41;&#41;then
          over_bot_login &#58;= true
          else
          over_bot_login &#58;= false;
          if &#40;pointinrect&#40;mousepos,bounds&#40;janela_login_Y+170,janela_login_X+65,50,15&#41;&#41;&#41;then
          over_bot_sair &#58;= true
          else
          over_bot_sair &#58;= false;
        end;
      end;
    end;
    
    procedure TForm1.FormMouseUp&#40;Sender&#58; TObject; Button&#58; TMouseButton;
      Shift&#58; TShiftState; X, Y&#58; Integer&#41;;
    begin
      if situacao = 'login' then
      pode_arrastar_login &#58;= false;
    end;
    
    procedure TForm1.FormDblClick&#40;Sender&#58; TObject&#41;;
    var mousepos &#58; TPoint;
    begin
      GetCursorPos&#40;mousepos&#41;;
      if situacao = 'login' then
      begin
        if pointinrect&#40;mousepos,bounds&#40;janela_login_Y,janela_login_X,250,10&#41;&#41;then//ImageList
        inteiro &#58;= not inteiro
      end;
    end;
    
    procedure TForm1.fundo;
    begin
      if situacao = 'login' then
      begin
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;0,0,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;0&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;200,0,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;1&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;400,0,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;2&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;600,0,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;3&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;0,200,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;4&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;200,200,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;5&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;400,200,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;6&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;600,200,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;7&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;0,400,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;8&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;200,400,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;9&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;400,400,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;10&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;3&#93;, pBounds4&#40;600,400,200,200&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;11&#41;,effectNone&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;4&#93;, pBounds4&#40;150,4,250,72&#41;,cColor1&#40;$FF104000&#41;,tPattern&#40;0&#41;,effectAdd&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;4&#93;, pBounds4&#40;400,4,250,72&#41;,cColor1&#40;$FF104000&#41;,tPattern&#40;1&#41;,effectAdd&#41;;
        PowerDraw1.TextureMap&#40;ImageList1.Images&#91;0&#93;, pBounds4&#40;posX,posY,69,74&#41;,cColor1&#40;$FFFFFFFF&#41;,tPattern&#40;contador&#41;,effectSrcColor&#41;;
      end;
    end;
    
    end.
    
    // ------------------------- UNIT 2 ----------------------------
    
    var
    janela_login_X &#58; integer = 80;
    janela_login_Y &#58; integer = 500;
    pode_arrastar_login &#58; Boolean;
    posicao_do_click_x , posicao_do_click_y &#58; integer;
    
    // ------------------------ END OF UNIT 2 ------------------------

    Plz guys i need this help i know u guys can help me ty ty ty
    :|: Furmiga :|:

  4. #4

    hummmmmmmmmm

    I just figure out that this problem just happen when the app is in full screen whats it aways will do....
    :|: Furmiga :|:

  5. #5

    a lil help with tedit

    you should consider creating you controls graphically using powerdraw rather than using Delphi controls. Direct3D fullscreen mode and windows controls don't go together too well.
    Some of DirectX wrappers have components for user interfaces included. I dunno if powerdraw does?
    Ask me about the xcess game development kit

  6. #6

    is this the rigth way ?

    Heya Harry Hunt srry to annoying u with my questions but can u tell me if this can be a way to solve my problem ?


    I made a component "at last i had to intall it heh" and... could u plz see if after some improvements this can be useful ? I mean am I on the right way ? I never made a component before and im pretty sure i missed something. the "demo" version Is working fine but im afraid i missed important stuffs.

    here ya go again...

    Code:
    unit editX;
    
    interface
    
    uses
      windows, Classes, PowerTypes, PowerDraw3, PowerFonts, Controls;
    
    type
      TeditX = class&#40;TComponent&#41;
    
      private
        FpowerDraw &#58; TPowerDraw;
        FPowerFont &#58; TPowerFont;
        FTexto     &#58; string;
        F_Top      &#58; integer;
        F_Left     &#58; integer;
        FFont      &#58; integer;
        FTamanho   &#58; integer;
        FClicado   &#58; Boolean;
        contador   &#58; integer;
        letras     &#58; integer;
        lista      &#58; TStringList;
        primeiro   &#58; Boolean;
        mousepos   &#58; TPoint;
        FOnMouseMove &#58; TMouseMoveEvent;
        FPassword    &#58; Boolean;
        TextoSecreto &#58; String;
    
      protected
        procedure SetPowerDraw&#40;value &#58; TPowerDraw&#41;;
        procedure SetPowerFont&#40;Value&#58; TPowerFont&#41;;
        procedure Set_Top&#40;Value&#58; integer&#41;;
        procedure Set_Left&#40;Value&#58; integer&#41;;
        procedure SetFont&#40;Value&#58; integer&#41;;
        procedure SetTamanho &#40;Value&#58; Integer&#41;;
        procedure SetTexto&#40;Value&#58; String&#41;;
        procedure SetClicado&#40;Value&#58; Boolean&#41;;
        procedure SetOnMouseEvent&#40;Value&#58; TMouseMoveEvent&#41;;
        procedure SetPassword&#40;Value &#58; Boolean&#41;;
    
      public
        procedure desenha;
        procedure resolve&#40;valor &#58; Char&#41;;
        property  clicado &#58; Boolean read FClicado Write SetClicado;
        function  pass&#58; String;
    
      published
        property PowerDraw&#58; TPowerDraw read FpowerDraw write SetPowerDraw;
        property PowerFont&#58; TPowerFont read FPowerFont write SetPowerFont;
        property Texto    &#58; String  read  FTexto    write SetTexto;
        Property Top_     &#58; integer read  F_Top     write Set_Top;
        Property left_    &#58; integer read  F_Left    write Set_Left;
        Property Font     &#58; integer read  FFont     write SetFont;
        Property Tamanho  &#58; integer read  FTamanho  write SetTamanho;
        property OnMouseMove &#58; TMouseMoveEvent read FOnMouseMove write SetOnMouseEvent;
        property Password &#58; Boolean read  FPassword write SetPassword;
      end;
    
    procedure Register;
    
    
    implementation
    
    procedure Register;
    begin
      RegisterComponents&#40;'PowerGrafix', &#91;TeditX&#93;&#41;;
    end;
    
    &#123; TeditX &#125;
    
    procedure TeditX.desenha;
    var shift &#58; TShiftState;
    begin
      GetCursorPos&#40;mousepos&#41;;
      FPowerDraw.FillRect&#40;F_Left,F_Top,FTamanho,FFont,$808080,effectSrcColor&#41;;
      FPowerFont.TextOut&#40;FTexto,F_Left,F_Top+3,$FFFFFFFF,effectNone&#41;;
      if pointinrect&#40;mousepos,bounds&#40;F_Left,F_Top,FTamanho,FFont&#41;&#41; then
      begin
        if assigned&#40;OnMouseMove&#41; then
        OnMouseMove&#40;Self,shift,mousepos.X,mousepos.y&#41;;
      end;
      if clicado then
      begin
        contador &#58;= &#40;contador + 1&#41; mod 250;
        if contador > 125 then
        FPowerDraw.FrameRect&#40;F_Left+letras*9,F_Top,1,FFont,$FF888888,effectNone&#41;
      end;
    end;
    
    procedure TeditX.resolve&#40;valor&#58; Char&#41;;
    var I &#58; Integer;
    begin
      if primeiro = false then
      begin
        lista &#58;= TStringList.Create;
        primeiro &#58;= true;
      end;
      if &#40;valor in &#91;'A'..'Z','a'..'z', '0'..'9'&#93;&#41;  and &#40;lista.Count < 17&#41; then
      begin
        lista.Add&#40;valor&#41;;
        FTexto &#58;= '';
        TextoSecreto &#58;= '';
        letras &#58;= 0;
        for I&#58;= 0 to lista.Count-1 do
        begin
          if password then
          begin
            FTexto &#58;= FTexto + '*';
            TextoSecreto &#58;= TextoSecreto + lista.Strings&#91;I&#93;;
          end
          else
          FTexto &#58;= FTexto + lista.Strings&#91;I&#93;;
          letras &#58;= letras + 1;
        end;
      end
      else if &#40;valor in &#91;'A'..'Z','a'..'z', '0'..'9'&#93;&#41;  and &#40;lista.Count >= 17&#41; then
      begin
        beep&#40;100,100&#41;;
      end
      else if &#40;valor = chr&#40;8&#41;&#41; and &#40;lista.Count > 0&#41; then
      begin
        letras &#58;= letras - 1;
        lista.Delete&#40;lista.Count-1&#41;;
        Ftexto &#58;= copy&#40;Ftexto,0,lista.Count&#41;;
      end;
    end;
    
    procedure TeditX.SetPowerFont&#40;Value&#58; TPowerFont&#41;;
    begin
     FPowerFont &#58;= Value;
    end;
    
    procedure TeditX.SetPowerDraw&#40;value&#58; TPowerDraw&#41;;
    begin
      FpowerDraw &#58;= value;
    end;
    
    procedure TeditX.SetFont&#40;Value&#58; integer&#41;;
    begin
      FFont &#58;= value;
    end;
    
    procedure TeditX.Set_Left&#40;Value&#58; integer&#41;;
    begin
      F_Left &#58;= value;
    end;
    
    procedure TeditX.SetTamanho&#40;Value&#58; Integer&#41;;
    begin
      FTamanho &#58;= value;
    end;
    
    procedure TeditX.SetTexto&#40;Value&#58; String&#41;;
    begin
      FTexto &#58;= value;
    end;
    
    procedure TeditX.Set_Top&#40;Value&#58; integer&#41;;
    begin
      F_Top &#58;= value;
    end;
    
    
    procedure TeditX.SetClicado&#40;value&#58; Boolean&#41;;
    begin
      FClicado &#58;= value;
    end;
    
    procedure TeditX.SetOnMouseEvent&#40;value&#58; TMouseMoveEvent&#41;;
    begin
       FOnMouseMove&#58;= value;
    end;
    
    procedure TeditX.SetPassword&#40;Value&#58; Boolean&#41;;
    begin
      FPassword &#58;= Value;
    end;
    
    function TeditX.pass&#58; String;
    begin
      result &#58;= TextoSecreto;
    end;
    
    end.

    Thx in advance
    :|: Furmiga :|:

  7. #7

    a lil help with tedit

    That looks pretty good... I'm not too familiar with PowerDraw, but the direction your going into with your component is good.
    Ask me about the xcess game development kit

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •