This is a migrated thread and some comments may be shown as answers.

Tooltabstrip font / Autohide problem

5 Answers 129 Views
Dock
This is a migrated thread and some comments may be shown as answers.
mrdcpwns
Top achievements
Rank 1
mrdcpwns asked on 28 Dec 2009, 02:20 PM
ToolTabStrip Font Problem:
I changed the font style and size in the properties and all seems fine after running the program
http://img341.imageshack.us/img341/1681/19699031.jpg

But when I set the dock to autohide while it is running and viewed the dockwindow, the font changed
http://img707.imageshack.us/img707/2521/86467578.jpg


AutoHide Problem:

If I set the dock to autohide in the advanced layout designer, then run the program, the dock is missing
http://img690.imageshack.us/img690/2091/98301245.jpg

The dock can only be viewed if I minimize the Form then return to it.
My Form's windowstate is set to maximized and I've noticed that the problem occurs if the Dock is set to something other than "None" in the properties.










5 Answers, 1 is accepted

Sort by
0
Georgi
Telerik team
answered on 29 Dec 2009, 08:23 AM
Hi JR,

Thank you for contacting us.

What is happening here is that you are setting the Font of the ToolTabStrip, docked on RadDock, but not to the one that holds auto-hidden windows. There are two options here:

- Modify RadDock theme files and supply the desired Font. The disadvantage of this approach is that the files should be modified manually as there is no (yet) Visual Style Builder support for RadDock. We are planning however to implement such for our next major release - Q1 2010.
- Hook the TransactionCommited event and update Font dynamically:

this.radDock1.TransactionCommitted += radDock1_TransactionCommitted;
 
void radDock1_TransactionCommitted(object sender, RadDockTransactionEventArgs e)
{
    foreach (DockWindow window in e.Transaction.AssociatedWindows)
    {
        if (window.DockTabStrip != null)
        {
            window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);
        }
    }
}

Regarding your second issue - I tried to reproduce it locally but to no avail. Could you please prepare a sample project that demonstrates the problem and send it back to me so that I may further help you?

I am looking forward to your reply.

Greetings,
Georgi
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
mrdcpwns
Top achievements
Rank 1
answered on 29 Dec 2009, 11:34 AM
here's a sample solution
http://www.megaupload.com/?d=EGXZ5RVA

the problem occurs if the RadDock1 is set to autohide in Advanced Layout designer  and the form's windowstate is set to maximized

0
Nikolay
Telerik team
answered on 04 Jan 2010, 10:12 AM
Hello mrdcpwns,

Thank you for the sample project. It helped us to reproduce the issue locally. It will be addressed in one of our next versions.

For the time being, please call the PerformLayout method of RadDock in the Form_Shown event handler:
Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
    Me.RadDock1.PerformLayout()
End Sub

I am updating your Telerik points for the report. If you have additional questions, feel free to contact me.

Kind regards,
Nikolay
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Tzhai Gal
Top achievements
Rank 1
answered on 03 Feb 2010, 01:11 PM
Hi,
I hade the same problem with the fonts ( it was happened also when dragging ), thanks for the solution.
However,
1. i steel have the same problem in the Font forColor.
2. I changed the  toggleButton (DocPin) image. I have the same problem hear after dragging.  How do i keep my image after dragging

It dose not help to put the forColor in the same way as the font, like this:
this.radDock1.TransactionCommitted += radDock1_TransactionCommitted;  
void radDock1_TransactionCommitted(object sender, RadDockTransactionEventArgs e)  
{  
    foreach (DockWindow window in e.Transaction.AssociatedWindows)  
    {  
        if (window.DockTabStrip != null)  
        {  
            window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);  
 
            window.DockTabStrip.ForColor = Color.White;  
 
        }  
    }  
}  
 
 

One more thing. Which event in radDoc or ToolTabStrip  catch the:  Hide / DockAble / Tabed Document / Floating 

Thanks,
Ofer Hadad

0
Nikolay
Telerik team
answered on 08 Feb 2010, 12:17 PM
Hi Tzhai Gal,

In order to change the text color, you need to change the color of the TextPrimitive that is contained in the ToolTabStrip's caption area. As to the image of the AutoHide button, you should have not issues with setting it on the TransactionCommitted event as well:
void radDock1_TransactionCommitted(object sender, Telerik.WinControls.UI.Docking.RadDockTransactionEventArgs e)
{
    foreach (DockWindow window in e.Transaction.AssociatedWindows)
    {
        if (window.DockTabStrip != null)
        {
            window.DockTabStrip.Font = new Font("Tahoma", 10F, FontStyle.Bold);
  
            if (window.DockTabStrip is ToolTabStrip)
            {
                ((TextPrimitive)((ToolTabStrip)window.DockTabStrip).CaptionElement.Children[2].Children[3]).ForeColor = Color.Red;
                ((ToolTabStrip)window.DockTabStrip).AutoHideButton.Image = WindowsFormsApplication8.Properties.Resources.PlusSign;
            }
        }
    }   
}

RadDock.DockTabStrip is the event which is fired when you change the DockState of a DockWindow.

I hope this helps. If you have additional questions, feel free to contact me.

Greetings,
Nikolay
the Telerik team

Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Follow the status of features or bugs in PITS and vote for them to affect their priority.
Tags
Dock
Asked by
mrdcpwns
Top achievements
Rank 1
Answers by
Georgi
Telerik team
mrdcpwns
Top achievements
Rank 1
Nikolay
Telerik team
Tzhai Gal
Top achievements
Rank 1
Share this question
or