[SOLVED] Desktop taskbaritem customization

Answered
0
0

Hello again,

I would like to know if i can add the title of the form to the desktop taskbar item (not the preview).

In the screenshot there are two examples:

  1. To the left, a custom taskbaritem that i added with: mydesktop.Items.Add(new DesktopTaskBarItem(“Text”)), but i don’t know how i can link it to a form when i open one.
  2. To the right, the standard custom taskbaritem generated when i open a form, but if i try to watch mydesktop.Items is empty and i can’t set the property Text.

Thanks!

  • You must to post comments
Best Answer
0
0

Hi Luca,

I’m also interested in this feature, but in VBNET I’m not eable to do it work, I use WiseJ 2.

Please can you attach a simple project?

Regards

Cristian

  • You must to post comments
1
1

You can patch the wisej.web.desktop.TaskBarItem javascript class like this:

  • Add a folder /Platform
  • Uncomment the[attribute:WisejResources] line in AssemblyInfo.sc
  • Add a js file under /Platform/my.TaskBarItemPatch.js
qx.Mixin.define("my.TaskBarItemPatch", {
  construct: function () {
    this.addListenerOnce("appear", function (e) {
      this.setShow("both");
      this.setIconPosition("left");
      this.setLabel(this.window.getCaption()); // <-- change this to this.window.getTaskbarLabel() as indicated below.
    });
  }
});
qx.Class.patch(wisej.web.desktop.TaskBarItem, my.TaskBarItemPatch);


This will use the title of the form. If you want a custom text unrelated to the title of the form you need to add a way to pass the text to the code above. One way is to add a property TaskbarLabel to the form. You can do that by creating a new form class:

qx.Class.define("my.Form", {
  extend: wisej.web.Form,
  properties: {
    taskbarLabel: { init: "", check: "String" }
  }
});

ss

Then extend Wisej.Web.Form and in your C#/VB.NET class, add a string property TaskbarLabel and in OnWebRender:

 protected override void OnWebRender(dynamic config)
 {
   base.OnWebRender((object)config);
   config.className = "my.Form";
   config.taskbarLabel = this.TaskbarLabel;
 }

 

 

 

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.