// 2018/11/23 16:58:56
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//add
using System.Reflection;
using System.IO;
using System.Diagnostics;
using System.Threading;
using System.Windows.Threading;
using System.Runtime.InteropServices;
// Author: Easygoingsky (Tmj Inb)
// 2014/07/17 18:17:35 Git start2
// エディタ
namespace PeacePadEditor01
{
// メインフォーム
public partial class PPad1_Form1 : Form
{
//
/////////////////////////////////////////////////////////////////////////
/// <summary>
/// タブ幅変更1
/// </summary>
/// <param name="tb"></param>
/// <param name="tab_width"></param>
public void setTabWidth( TextBox tb, int tab_width )
{
// 第1引数
IntPtr hwnd = tb.Handle;
// 第2引数
const int EM_SETTABSTOPS = 0x00CB;
// 第3引数
IntPtr wParam = new IntPtr( 1 );
// 第4引数 IntPtrの配列を初期化指定にて生成。(dialog template units×4)
IntPtr[] LParam = new IntPtr[1] { new IntPtr( tab_width * 4 ) };
// メッセージ送信
int ret = NativeMethods.SendMessage( hwnd, EM_SETTABSTOPS, wParam, LParam );
}
//
}
//////////////////////////////////////////////////////////////////////////////
/// <summary>
/// v0.98.0046.03
/// </summary>
internal static class NativeMethods
{
//////////////////////////////////////////////////////////////////////////////
/// <summary>
/// v0.98.0046.03
/// </summary>
/// <param name="hwnd"></param>
/// <param name="msg"></param>
/// <param name="wParam"></param>
/// <param name="LParam"></param>
/// <returns></returns>
[DllImport("user32.dll", EntryPoint = "SendMessage", CharSet = CharSet.Unicode)]
internal static extern int SendMessage(IntPtr hwnd,
int msg,
IntPtr wParam,
IntPtr[] LParam);
}