подкрашивание экрана - PullRequest
0 голосов
/ 17 июля 2009

с помощью сообщества stackoverflow я разработал приложение, которое окрашивает экран и создает впечатление, что вы носите очки разного цвета.

Я также хотел бы добавить функциональность вместо окраски всего экрана, ТОЛЬКО для окраски фона документа точно так же, как это делает эта программа:

http://www.thomson -software-solutions.com / html / screen_tinter.html

Кто-нибудь знает, как это сделать в vb.net?

Ответы [ 2 ]

2 голосов
/ 18 июля 2009

Это довольно простой трюк, он просто заменяет системный цвет, используемый для фона окна. Вы изменили бы это с помощью P / Invoking API-функции SetSysColor (). Вот пример приложения Windows Forms, которое демонстрирует эту технику. Запустите новое приложение WF и нажмите кнопку на форме. Затем вставьте этот код:

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsApplication1 {
  public partial class Form1 : Form {
    int oldcolor;
    public Form1() {
      InitializeComponent();
      oldcolor = GetSysColor(COLOR_WINDOW);
      this.FormClosed += new FormClosedEventHandler(Form1_FormClosed);
      this.button1.Click += new EventHandler(button1_Click);
    }

    private void Form1_FormClosed(object sender, FormClosedEventArgs e) {
      int element = COLOR_WINDOW;
      SetSysColors(1, ref element, ref oldcolor);
    }

    private int Color2COLORREF(Color color) {
      return color.R | (color.G << 8) | (color.B << 0x10);
    }

    private void button1_Click(object sender, EventArgs e) {
      int element = COLOR_WINDOW;
      int colorref = Color2COLORREF(Color.NavajoWhite);
      SetSysColors(1, ref element, ref colorref);
    }

    private const int COLOR_WINDOW = 5;
    [DllImport("user32.dll")]
    private static extern bool SetSysColors(int one, ref int element, ref int color);
    [DllImport("user32.dll")]
    private static extern int GetSysColor(int element);

  }
}
1 голос
/ 17 июля 2009

Немного оффтоп, но вы можете изменить Word по умолчанию на «Белый на синем». Синий фон, белый текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...