internal IntPtr CreateText(TASKDIALOG_ELEMENTS element, string text) { var ptr = Marshal.StringToHGlobalUni(text); this.elementTexts[(int)element] = ptr; return(ptr); }
internal void FreeText(TASKDIALOG_ELEMENTS element) { var index = (int)element; Marshal.FreeHGlobal(this.elementTexts[index]); this.elementTexts[index] = IntPtr.Zero; }
private void SetElementTextCommand(TASKDIALOG_ELEMENTS element, string elementText) { this.TextElements.FreeText(element); var wParam = (IntPtr)(uint)element; var lParam = this.TextElements.CreateText(element, elementText); SendCommandMessage(TASKDIALOG_MESSAGES.TDM_SET_ELEMENT_TEXT, wParam, lParam); }
private void SetText(TASKDIALOG_ELEMENTS tde, string text, bool relayout) { using (StringMarshaller sm = new StringMarshaller(text)) { SendMessage( relayout ? TASKDIALOG_MESSAGES.TDM_SET_ELEMENT_TEXT : TASKDIALOG_MESSAGES.TDM_UPDATE_ELEMENT_TEXT, (int)tde, sm.Value.ToInt32()); } }