I'll stick with static images for now. (My GIf Anim have too many framesAivars wrote:Check out this demo plugin: http://forums.blumentals.net/viewtopic.php?f=33&t=5976
 )
)I'll stick with static images for now. (My GIf Anim have too many framesAivars wrote:Check out this demo plugin: http://forums.blumentals.net/viewtopic.php?f=33&t=5976
 )
) )
)Code: Select all
function OnAutoComplete(CodeType, ACType, Strings, AKey, AllowPopup, ShowImages) {
	if ((ACType == 2) && (CodeType == 1) && (Strings[0] == "{\\rtf\\b Choose URL... }")) {
		var word = AutoComplete.GetWordBeforeCursor("");
		if (word != "") {
			Script.Message("word:" + word);
			ShowImages = true;
			AllowPopup = true;
			Ajax(word, Strings);
		}
	}
}
Code: Select all
var j = AutoComplete.AddItem(Strings, link, label);
AutoComplete.SetImageIndex(j, 4);
 How do I get it to start at the X position in the list?
 How do I get it to start at the X position in the list? Is it possible to turn of the alphabetic sorting of the list, and instead display it in the order they are added?
 Is it possible to turn of the alphabetic sorting of the list, and instead display it in the order they are added? Also, "GetWordBeforeCursor" requires a string argument, but what is it for?
 Also, "GetWordBeforeCursor" requires a string argument, but what is it for?
Thanks. That was exactly what was neededAivars wrote:Try adding
PSForm.DoubleBuffered = true;
right after PSForm is created.

Code: Select all
function OnPaint(Sender) {
        // Draw a Green Circle
	Sender.Canvas.Brush.Style = bsClear;
	Sender.Canvas.Pen.Style = psSolid;
	Sender.Canvas.Pen.Color = clGreen;
	Sender.Canvas.Pen.Width = 20;
	Sender.Canvas.Ellipse(100, 100, 200,200);
        // Write the word "WeBuilder" in Green letters
	Sender.Canvas.Font.Color = clRed;
	Sender.Canvas.Font.Size = 20;
	Sender.Canvas.TextOut(100, 100, "WeBuilder");
}Code: Select all
    var res32, res64;
    var reg32 = "C:\\Windows\\System32\\reg.exe";
    var reg64 = "C:\\Windows\\SysWOW64\\reg.exe";
    var key32 = reg32 + " query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\" 2>nul";
    var key64 = reg64 + " query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Clients\\StartMenuInternet\" 2>nul";
    Script.Message("Command: " + _t(key32));
    ExecuteCommand(key32, res32);
    Script.Message("Result: " + _t(res32));

Yeah. I discovered that too.Aivars wrote:Alright. On unrelated note, I don't think you will get different directories via system32\ and syswow64\ from 32-bit application

Code: Select all
    var WSO = CreateOleObject("Wscript.Shell");
    var winDir = WSO.ExpandEnvironmentStrings("%windir%");  
    var SL = new TStringList;  
    ExecuteCommand(winDir + "\\System32\\reg.exe query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\"", SL.Text);
    if (SL.Count<4) return; // Something went wrong
    for (var i = 4;i < SL.Count;i++) {
        var name = WSO.RegRead(SL[i] + "\\");  // Browser name
	if (name == "") name = RegexMatch(SL[i], "[^\\\\]*$", false);
        Sender.Items.Add(name);
    }