Posted: Thu Dec 22, 2011 2:06 pm
Обновил History.js - горячие клавиши: возврат псоследнего и всех закрытых документов.
вроде добавили поддержку CSS
1. May use ListView instead of ListBox.FeyFre wrote:1. List is ordinary LISTBOX, and selection remains active even when AkelPad is inactive. I don't think I can set different behaviour here.
2. See v0.4. Sorry for GUI-less, but that is all I can do now.
Ага, неплохо. Только пробелов не хватает:se7h wrote:вроде добавили поддержку CSS
Code: Select all
color:#f00!importantCode: Select all
var pDefaultExt = AkelPad.SendMessage(AkelPad.GetMainWnd(), 1222 /*AKD_GETMAININFO*/, 224 /*MI_DEFAULTSAVEEXT*/, 0)Собакак порылась в том что АР не выдаст нагора указатели на память которую он использует. В целях безопасности(что-бы никто туда не нагадил).но оно возвращает не расширение, а 4.. В чём тут собака порылась?)
сообщение AKD_FRAMEFIND возвращает структуру FRAMEDATA в которой встроена структура EDITINFO, в которой есть поле типа AEHDOC которое по сути идентифицирует открытый документ во вкладке. Пошаманить вокруг этого, возможно что-то и достанете.Надо взять содержимое файла следующей от текущей вкладки.
Code: Select all
AkelPad.WindowSubClass(lb_hist, ListSubClass)Code: Select all
g_hDockWnd = CreateWindowEx(0,DOCKCLASSNAME,DOCKCLASSNAME,WS_VISIBLE|WS_CHILDCode: Select all
g_hDockWnd = CreateWindowEx(0,DOCKCLASSNAME,DOCKCLASSNAME,/*WS_VISIBLE|*/WS_CHILDCode: Select all
ShowWindow(g_hDockWnd,SW_SHOW);Code: Select all
//ShowWindow(g_hDockWnd,SW_SHOW);Code: Select all
AkelPad.SendMessage(g_hAkelPad, AKD_DOCK, DK_SHOW, g_pDock);
AkelPad.SendMessage(g_hAkelPad, AKD_RESIZE, 0, 0);Code: Select all
AkelPad.SendMessage(g_hAkelPad, AKD_DOCK, DK_SHOW, g_pDock);
//AkelPad.SendMessage(g_hAkelPad, AKD_RESIZE, 0, 0);Code: Select all
MoveWindow(st_fr, pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_EXIT);
MoveWindow(btn_exit, pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_HIST);
MoveWindow(lb_hist , pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_HKT);
MoveWindow(hk_t, pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_HKA);
MoveWindow(hk_a, pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_HKBT);
MoveWindow(hkbt, pos.x, pos.y, pos.w, pos.h, 1);
pos = GetControlPos(_W,_H,IDC_HKBA);
MoveWindow(hkba, pos.x, pos.y, pos.w, pos.h, 1);Code: Select all
MoveWindow(st_fr, pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_EXIT);
MoveWindow(btn_exit, pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_HIST);
MoveWindow(lb_hist , pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_HKT);
MoveWindow(hk_t, pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_HKA);
MoveWindow(hk_a, pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_HKBT);
MoveWindow(hkbt, pos.x, pos.y, pos.w, pos.h, 0);
pos = GetControlPos(_W,_H,IDC_HKBA);
MoveWindow(hkba, pos.x, pos.y, pos.w, pos.h, 0);Code: Select all
function MoveWindow(hwnd,x,y,w,h)
{
oSys.Call("user32::MoveWindow",hwnd,x,y,w,h);
}Code: Select all
function MoveWindow(hwnd,x,y,w,h,repaint)
{
oSys.Call("user32::MoveWindow",hwnd,x,y,w,h,repaint);
}Понимаю, что это наверное правильно, но, думаю, сейчас не подниму, потому пошёл по пути, который проще:FeyFre wrote:сообщение AKD_FRAMEFIND возвращает структуру FRAMEDATA в которой встроена структура EDITINFO, в которой есть поле типа AEHDOC которое по сути идентифицирует открытый документ во вкладке. Пошаманить вокруг этого, возможно что-то и достанете.Надо взять содержимое файла следующей от текущей вкладки.
Code: Select all
AkelPad.Command(4316/*IDM_WINDOW_FRAMENEXT*/);Code: Select all
var hWndMain = AkelPad.GetMainWnd();
var lpFrameCur = AkelPad.SendMessage(hWndMain, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0) | 0;
var nFrameIndex = AkelPad.SendMessage(hWndMain, 1294 /*AKD_FRAMEINDEX*/, 0, lpFrameCur);