CheshireCat

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 112 total)
  • Author
    Posts
  • CheshireCat
    Participant

    Hello Vector,

    set the DrawNonClientArea property to False. Alternatively, you can use two skinManager:

    sSkinManager1.Active := False for skip controls and

    sSkinManager2.Active := True for skinning controls

    Example:

    Code:
    sBitBtn1.SkinData.SkinManager := sSkinManager2;
    in reply to: Combine Date and Time… #52990
    CheshireCat
    Participant

    Hello John,

    the following code should work for you:

    Code:
    uses
    DateUtils;

    var
    MyAlphaDateTime : TDateTime;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    //initialize…

    sDateEdit1.Date := Now;
    sTimePicker1.Time := Time;

    MyAlphaDateTime := sDateEdit1.Date + sTimePicker1.Time;
    Label2.Caption := DateTimeToStr(MyAlphaDateTime);

    end;

    procedure TForm1.sDateEdit1Change(Sender: TObject);
    begin
    MyAlphaDateTime := sDateEdit1.Date + sTimePicker1.Time;
    Label2.Caption := DateTimeToStr(MyAlphaDateTime);
    end;

    procedure TForm1.sTimePicker1Change(Sender: TObject);
    begin
    MyAlphaDateTime := sDateEdit1.Date + sTimePicker1.Time;
    Label2.Caption := DateTimeToStr(MyAlphaDateTime);
    end;

    in reply to: Why is the highlight of a selection always blue? #52511
    CheshireCat
    Participant
    'Support' wrote:

    … it's ready and in tests already …

    Added the TsSkinManager.Options.ChangeSysColrs property.

    Today evening or tomorrow I can give this new package for tests.

    Hello Serge,

    great news :a3:

    I have tried many ways in the last few weeks, but you're just faster 😉

    in reply to: Why is the highlight of a selection always blue? #52448
    CheshireCat
    Participant

    Hello Dick,

    when colors are changed in this way, the user of your software should be able to turn off this behavior, for example via a menu option 😉

    in reply to: Selected item in Treeview #52339
    CheshireCat
    Participant

    Works correctly in v9.13, many thanks 🙄

    in reply to: Why is the highlight of a selection always blue? #52323
    CheshireCat
    Participant

    I have just tested it with the Activate and Deactivate events, it works reasonably good, but is of course not an optimal solution.

    [attachment=6865:EditSelectionColor.jpg]

    Maybe my simple solution can be expanded 😉

    Here the source code as a small example:

    [attachment=6866:ChangeSysColors.zip]

    in reply to: Why is the highlight of a selection always blue? #52314
    CheshireCat
    Participant
    'HeDiBo' wrote:

    In general the standard blue color of the selection highlight is totally wrong for most skins, except for the blueish ones.

    The selection color for a edit is always COLOR_HIGHLIGHT / COLOR_HIGHLIGHTTEXT. You can changing the COLOR_HIGHLIGHT value using SetSysColors function, but this will change for all applications. No idea what Microsoft is thinking here …

    in reply to: Selected item in Treeview #52296
    CheshireCat
    Participant

    You need only a sTreeView with ImageList and some symbols, but I've attached a big demo 😉

    [attachment=6863:TreeViewDemo.zip]

    EXE was compiled with Delphi XE2, Win7/64 bit.

    Problem exists since v9.12, in previous versions everything was correct!

    in reply to: Little bug in TsSlider #52083
    CheshireCat
    Participant

    Thank you, that works. I had only tested it with ASkinDemo before, in the compiled demo is set the wrong section 😉

    in reply to: Little bug in TsSlider #52076
    CheshireCat
    Participant

    Yes, the sections were newly added. You can also test it with your improved Skins, for example AlterMetro!

    in reply to: FindComponent #51975
    CheshireCat
    Participant

    Hello,

    you mean something like that?

    Code:

    procedure TForm1.sButton1Click(Sender: TObject);
    var
    i : integer;
    begin

    for i := 1 to 4 do
    if FindComponent('sLabelFX' + IntToStr(i)) is TsLabelFX then
    with FindComponent('sLabelFX' + IntToStr(i)) as TsLabelFX do
    Caption := 'My Label ' + IntToStr(i);

    end;

    in reply to: Application.MessageBox cancel button problem #51974
    CheshireCat
    Participant

    Hello Chris,

    there is a way to remove the button, maybe it will help you:

    Code:

    procedure TForm1.sButton1Click(Sender: TObject);
    var
    msgDialog: TForm;
    begin
    msgDialog := CreateMessageDialog('Replace this with the message to be displayed', mtInformation, [mbYes,mbNo]);
    try
    msgDialog.Caption := 'Title of the dialog';
    msgDialog.BorderIcons := []; // Message-Box have no title buttons
    msgDialog.ShowModal;
    finally
    msgDialog.Hide;
    msgDialog.Free;
    end;
    end;

    in reply to: how to create alpha skins #51924
    CheshireCat
    Participant

    Hello and welcome,

    take a look at the tutorial section and you'll find Important information about Creating Skins

    The editor can be downloaded here: Skin Editor

    Have fun … 🙂

    in reply to: New Skins #51923
    CheshireCat
    Participant
    'Roberto wrote:

    how do I change the color of the buttons, I'm trying to darken a bit?

    Hello Roberto,

    use the ColorTone property to define own colors and set CustomColor to true.

    in reply to: New Skins #51917
    CheshireCat
    Participant

    Hello and welcome,

    use the link below to dowload the office 2013 skin in three different colors (blue, green and red).

    [attachment=6742:Office 2013.zip]

    Quote:
    I am having a great difficulty to create the skin, suck at designer.

    It takes a little practice to unterstand the designer. I think it is very good to use 🙂

    Have fun …

    in reply to: Read-only edit fields #51813
    CheshireCat
    Participant

    Hello Pete,

    maybe that's a solution for you:

    Code:
    uses
    sSkinManager, sEdit, GraphUtil;

    type

    TsEdit = Class(sEdit.TsEdit)
    procedure WndProc(var Message: TMessage); override;
    end;

    procedure TsEdit.WndProc(var Message: TMessage);
    begin
    case Message.Msg of
    WM_PAINT:
    begin
    if ReadOnly then
    begin
    SkinData.CustomColor := True;
    Color := ColorAdjustLuma(ColorToRGB(Form1.sSkinManager1.Palette[pcEditBG]), -25, True);
    end else SkinData.CustomColor := False;
    end;
    end;
    inherited WndProc(Message);
    end;

    Example:

    [attachment=6726:sEdit.jpg]

    in reply to: ExtendedBorders and TrayIcon #51794
    CheshireCat
    Participant

    Hello minou,

    please try this in your OnClick event:

    Code:

    procedure TForm1.TrayIcon1Click(Sender: TObject);
    begin
    TrayIcon1.Visible := False;
    Application.Restore;
    Application.BringToFront;
    Form1.Show;
    end;

    in reply to: How to change HotTrack color of TsEdit #51712
    CheshireCat
    Participant
    'yaowz' wrote:

    .. then I set sEdit1.SkinData.CustomColor to TRUE, but which property to set HotTrack color?

    thanks a lot.

    Hello,

    what color do you mean exactly? Background or border color?

    in reply to: Set button state manually #51701
    CheshireCat
    Participant

    My first idea was to use a timer, but maybe someone has a better solution 🙂

    I use the functions Hide- and ShowGlow from the acGlow unit. You can set the time interval to a value that you need.

    Code:
    uses Windows, sCommonData, acGlow;

    procedure TForm2.sButton1Click(Sender: TObject);
    begin
    sButton1.Default := not sButton1.Default;
    end;

    procedure TForm2.Timer1Timer(Sender: TObject);
    var
    skd : TsCommonData;
    R, RBox : TRect;
    DC : hdc;
    begin
    skd := sButton1.SkinData;

    if (sButton1.Default) then
    begin
    if skd.GlowID <> -1 then HideGlow(skd.GlowID);
    if GetWindowRect(TWinControl(skd.FOwnerControl).Handle, R) then
    begin
    DC := GetWindowDC(TWinControl(skd.FOwnerControl).Handle);
    if GetClipBox(DC, RBox) = 0 then Exit;
    ReleaseDC(TWinControl(skd.FOwnerControl).Handle, DC);
    skd.GlowID := ShowGlow(R, RBox, skd.SkinSection, 'GLOW', skd.SkinManager.gd[skd.SkinIndex].GlowMargin,
    MaxByte, sButton1.Handle, skd);
    end;
    end else
    begin
    if (skd.GlowID <> -1) and not (skd.FMouseAbove) then
    begin
    HideGlow(skd.GlowID);
    skd.GlowID := -1;
    end;
    end;
    end;

    in reply to: Set button state manually #51694
    CheshireCat
    Participant

    Hello and welcome to the forum,

    you can set the Default property to true for specific buttons 🙂

Viewing 20 posts - 1 through 20 (of 112 total)