Цитата MKN:
Ты наверное будешь смеяться, но оказалось дело в том, что гасит всё, применение стиля ${NSD_AddStyle} $ListView "${LVS_NOCOLUMNHEADER}" »
|
Конечно буду, т.к. этот стиль не влияет на функционал, этот стиль всего-лишь убирает отображение колонок
Здесь проблема в другом, как я выяснил только что, всё дело в том, что в nsDialogs создание ListView происходит не так, как в IO, такое ощущение, что nsDialogs создаёт совсем голый элемент, и для того, чтобы "всё заработало", необходимо вручную дописать команду на вставку колонки, пусть даже и "невидимой"
Т.е. после создания элемента тебе нужно дописывать команду на вставку колонки:
Код:
${NSD_LV_InsertColumn} $ListView 0 450 ""
В IO таких телодвижений не требуется, там элемент создаётся сразу в "рабочем состоянии"
Скрытый текст
Код:
!include "MUI2.nsh"
!include "WinMessages.nsh"
!include "nsDialogs.nsh"
!include "CommCtrl.nsh"
;!include "FileFunc.nsh"
Page custom MyDialog
!insertmacro MUI_LANGUAGE "Russian"
OutFile "NOCOLUMNHEADER-Test.exe"
Var dlg
Var /global ListView
Function MyDialog
nsDialogs::Create 1018
Pop $dlg
${NSD_CreateListView} 0u 0u 300u 140u ""
Pop $ListView
SendMessage $ListView ${LVM_SETEXTENDEDLISTVIEWSTYLE} "${LVS_EX_FULLROWSELECT}" "${LVS_EX_FULLROWSELECT}"
${NSD_AddStyle} $ListView "${LVS_NOCOLUMNHEADER}"
${NSD_LV_InsertColumn} $ListView 0 450 ""
call getSystemInfo
nsDialogs::Show
FunctionEnd
Section
SectionEnd
Function getSystemInfo
Push "ExecDos::End" # Add a marker for the loop to test for.
ExecDos::exec /NOUNLOAD /TOSTACK "systeminfo" "" ""
Pop $0 # return value
StrCmp $0 0 0 Failed
## Loop through stack.
Loop:
Pop $1
StrCmp $1 "ExecDos::End" ExitLoop
System::Call "user32::OemToChar(tr1, t.r1)"
# SendMessage $R2 ${WM_SETTEXT} "0" "STR:$1"
SendMessage $ListView ${LVM_GETITEMCOUNT} "" "" $R1
${NSD_LV_InsertItem} $ListView "0" "$1"
SendMessage $ListView ${LVM_ENSUREVISIBLE} $R1 1
SendMessage $ListView ${LVM_SETCOLUMNWIDTH} "0" "${LVSCW_AUTOSIZE}"
Goto Loop
ExitLoop:
Return # Exit Function / Section
Failed:
MessageBox MB_OK "Exit code $0"
Return # Exit Function / Section
FunctionEnd
Section -post
SetAutoClose false
SectionEnd
опять панику разводишь, не работает у него ничего
Цитата:
Ну, и до кучи : у меня Caption "Получение информации из консольного приложения" - кракозябрами... Почему вдруг ?
|
Без понятия, что у тебя там с кодировками
Я вот недавно пересел с 32 бита на 64, теперь тоже мучаюсь с кодировками, из NIS Edit всё в иероглифах, нужно открывать через другой текстовик, чтобы скопировать текст с родным языком...